diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:49:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 16:49:04 +0000 |
commit | 16f504a9dca3fe3b70568f67b7d41241ae485288 (patch) | |
tree | c60f36ada0496ba928b7161059ba5ab1ab224f9d /src/VBox/Devices/Graphics/shaderlib/wine/include/propidl.idl | |
parent | Initial commit. (diff) | |
download | virtualbox-upstream.tar.xz virtualbox-upstream.zip |
Adding upstream version 7.0.6-dfsg.upstream/7.0.6-dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/propidl.idl')
-rw-r--r-- | src/VBox/Devices/Graphics/shaderlib/wine/include/propidl.idl | 464 |
1 files changed, 464 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/propidl.idl b/src/VBox/Devices/Graphics/shaderlib/wine/include/propidl.idl new file mode 100644 index 00000000..cf52e9e5 --- /dev/null +++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/propidl.idl @@ -0,0 +1,464 @@ +/* + * Copyright 2002 Ove Kaaven + * Copyright 2004 Francois Gouget + * Copyright 2005 Juan Lang + * + * 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 + */ + +/* + * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice + * other than GPL or LGPL is available it will apply instead, Oracle elects to use only + * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where + * a choice of LGPL license versions is made available with the language indicating + * that LGPLv2 or any later version may be used, or where a choice of which version + * of the LGPL is applied is otherwise unspecified. + */ + +#ifndef DO_NO_IMPORTS +import "objidl.idl"; +import "oaidl.idl"; +#endif + +/* + * Windows SDK braindamage alert + * + * PID_DICTIONARY and PID_CODEPAGE are defined by msidefs.h too + * PID_SECURITY is defined in msidefs.h with a different value! + * So these need to be undefined first. + */ +cpp_quote("#ifdef PID_DICTIONARY") +cpp_quote("#undef PID_DICTIONARY") +cpp_quote("#endif") + +cpp_quote("#ifdef PID_CODEPAGE") +cpp_quote("#undef PID_CODEPAGE") +cpp_quote("#endif") + +cpp_quote("#ifdef PID_SECURITY") +cpp_quote("#undef PID_SECURITY") +cpp_quote("#endif") + +/******************** Property Storage ********************/ + +interface IEnumSTATPROPSTG; +interface IEnumSTATPROPSETSTG; + +[ + object, + uuid(00000138-0000-0000-C000-000000000046), + pointer_default(unique) +] +interface IPropertyStorage : IUnknown +{ + typedef [unique] IPropertyStorage *LPPROPERTYSTORAGE; + + const DWORD PROPSETFLAG_DEFAULT = 0; + const DWORD PROPSETFLAG_NONSIMPLE = 1; + const DWORD PROPSETFLAG_ANSI = 2; + const DWORD PROPSETFLAG_UNBUFFERED = 4; + const DWORD PROPSETFLAG_CASE_SENSITIVE = 8; + + const DWORD PROPSET_BEHAVIOR_CASE_SENSITIVE = 1; + + const PROPID PID_DICTIONARY = 0x00000000; + const PROPID PID_CODEPAGE = 0x00000001; + const PROPID PID_FIRST_USABLE = 0x00000002; + const PROPID PID_FIRST_NAME_DEFAULT = 0x00000fff; + const PROPID PID_LOCALE = 0x80000000; + const PROPID PID_MODIFY_TIME = 0x80000001; + const PROPID PID_SECURITY = 0x80000002; + const PROPID PID_BEHAVIOR = 0x80000003; + const PROPID PID_ILLEGAL = 0xffffffff; + const PROPID PID_MIN_READONLY = 0x80000000; + const PROPID PID_MAX_READONLY = 0xbfffffff; + + typedef struct tagPROPVARIANT PROPVARIANT; + +#define TYPEDEF_CA(type, name) \ + typedef struct tag##name { \ + ULONG cElems; \ + [size_is(cElems)] \ + type *pElems; \ + } name + + TYPEDEF_CA(unsigned char, CAUB); + TYPEDEF_CA(short, CAI); + TYPEDEF_CA(USHORT, CAUI); + TYPEDEF_CA(long, CAL); + TYPEDEF_CA(ULONG, CAUL); + TYPEDEF_CA(float, CAFLT); + TYPEDEF_CA(double, CADBL); + TYPEDEF_CA(CY, CACY); + TYPEDEF_CA(DATE, CADATE); + TYPEDEF_CA(BSTR, CABSTR); + TYPEDEF_CA(BSTRBLOB, CABSTRBLOB); + TYPEDEF_CA(VARIANT_BOOL, CABOOL); + TYPEDEF_CA(SCODE, CASCODE); + TYPEDEF_CA(PROPVARIANT, CAPROPVARIANT); + TYPEDEF_CA(LARGE_INTEGER, CAH); + TYPEDEF_CA(ULARGE_INTEGER, CAUH); + TYPEDEF_CA(LPSTR, CALPSTR); + TYPEDEF_CA(LPWSTR, CALPWSTR); + TYPEDEF_CA(FILETIME, CAFILETIME); + TYPEDEF_CA(CLIPDATA, CACLIPDATA); + TYPEDEF_CA(CLSID, CACLSID); + + struct tagPROPVARIANT { + VARTYPE vt; + WORD wReserved1; + WORD wReserved2; + WORD wReserved3; + [switch_is(vt & 0x1fff)] union { + [case(VT_EMPTY, VT_NULL)] ; + [case(VT_I1)] char cVal; + [case(VT_UI1)] UCHAR bVal; + [case(VT_I2)] short iVal; + [case(VT_UI2)] USHORT uiVal; + [case(VT_BOOL)] VARIANT_BOOL boolVal; +#if 0 /* illegal in C++ */ + [case(VT_ILLEGAL)] _VARIANT_BOOL bool; +#endif + [case(VT_I4)] long lVal; + [case(VT_UI4)] ULONG ulVal; + [case(VT_R4)] float fltVal; + [case(VT_ERROR)] SCODE scode; + [case(VT_I8)] LARGE_INTEGER hVal; + [case(VT_UI8)] ULARGE_INTEGER uhVal; + [case(VT_R8)] double dblVal; + [case(VT_CY)] CY cyVal; + [case(VT_DATE)] DATE date; + [case(VT_FILETIME)] FILETIME filetime; + [case(VT_CLSID)] CLSID *puuid; + [case(VT_BLOB, VT_BLOB_OBJECT)] BLOB blob; + [case(VT_CF)] CLIPDATA *pclipdata; + [case(VT_STREAM, VT_STREAMED_OBJECT)] IStream *pStream; + [case(VT_STORAGE, VT_STORED_OBJECT)] IStorage *pStorage; + [case(VT_BSTR)] BSTR bstrVal; + [case(VT_BSTR_BLOB)] BSTRBLOB bstrblobVal; + [case(VT_LPSTR)] LPSTR pszVal; + [case(VT_LPWSTR)] LPWSTR pwszVal; + [case(VT_UI1|VT_VECTOR)] CAUB caub; + [case(VT_I2|VT_VECTOR)] CAI cai; + [case(VT_UI2|VT_VECTOR)] CAUI caui; + [case(VT_BOOL|VT_VECTOR)] CABOOL cabool; + [case(VT_I4|VT_VECTOR)] CAL cal; + [case(VT_UI4|VT_VECTOR)] CAUL caul; + [case(VT_R4|VT_VECTOR)] CAFLT caflt; + [case(VT_ERROR|VT_VECTOR)] CASCODE cascode; + [case(VT_I8|VT_VECTOR)] CAH cah; + [case(VT_UI8|VT_VECTOR)] CAUH cauh; + [case(VT_R8|VT_VECTOR)] CADBL cadbl; + [case(VT_CY|VT_VECTOR)] CACY cacy; + [case(VT_DATE|VT_VECTOR)] CADATE cadate; + [case(VT_FILETIME|VT_VECTOR)] CAFILETIME cafiletime; + [case(VT_CLSID|VT_VECTOR)] CACLSID cauuid; + [case(VT_CF|VT_VECTOR)] CACLIPDATA caclipdata; + [case(VT_BSTR|VT_VECTOR)] CABSTR cabstr; + [case(VT_BSTR_BLOB|VT_VECTOR)] CABSTRBLOB cabstrblob; + [case(VT_LPSTR|VT_VECTOR)] CALPSTR calpstr; + [case(VT_LPWSTR|VT_VECTOR)] CALPWSTR calpwstr; + [case(VT_VARIANT|VT_VECTOR)] CAPROPVARIANT capropvar; + [case(VT_ARRAY|VT_I1, + VT_ARRAY|VT_UI1, + VT_ARRAY|VT_I2, + VT_ARRAY|VT_UI2, + VT_ARRAY|VT_I4, + VT_ARRAY|VT_UI4, + VT_ARRAY|VT_INT, + VT_ARRAY|VT_UINT, + VT_ARRAY|VT_R4, + VT_ARRAY|VT_R8, + VT_ARRAY|VT_CY, + VT_ARRAY|VT_DATE, + VT_ARRAY|VT_BSTR, + VT_ARRAY|VT_BOOL, + VT_ARRAY|VT_DECIMAL, + VT_ARRAY|VT_DISPATCH, + VT_ARRAY|VT_UNKNOWN, + VT_ARRAY|VT_ERROR, + VT_ARRAY|VT_VARIANT)] LPSAFEARRAY parray; + [case(VT_BYREF|VT_I1)] CHAR *pcVal; + [case(VT_BYREF|VT_UI1)] UCHAR *pbVal; + [case(VT_BYREF|VT_I2)] SHORT *piVal; + [case(VT_BYREF|VT_UI2)] USHORT *puiVal; + [case(VT_BYREF|VT_I4)] LONG *plVal; + [case(VT_BYREF|VT_UI4)] ULONG *pulVal; + [case(VT_BYREF|VT_INT)] INT *pintVal; + [case(VT_BYREF|VT_UINT)] UINT *puintVal; + [case(VT_BYREF|VT_R4)] FLOAT *pfltVal; + [case(VT_BYREF|VT_R8)] DOUBLE *pdblVal; + [case(VT_BYREF|VT_BOOL)] VARIANT_BOOL *pboolVal; + [case(VT_BYREF|VT_DECIMAL)] DECIMAL *pdecVal; + [case(VT_BYREF|VT_ERROR)] SCODE *pscode; + [case(VT_BYREF|VT_CY)] CY *pcyVal; + [case(VT_BYREF|VT_DATE)] DATE *pdate; + [case(VT_BYREF|VT_BSTR)] BSTR *pbstrVal; + [case(VT_BYREF|VT_UNKNOWN)] IUnknown **ppunkVal; + [case(VT_BYREF|VT_DISPATCH)] IDispatch **ppdispVal; + [case(VT_BYREF|VT_ARRAY)] LPSAFEARRAY *pparray; + [case(VT_BYREF|VT_VARIANT)] PROPVARIANT *pvarVal; + }; + }; + + typedef struct tagPROPVARIANT *LPPROPVARIANT; + + cpp_quote("#if 0") + typedef const PROPVARIANT * REFPROPVARIANT; + cpp_quote("#endif") + cpp_quote("#ifndef _REFPROPVARIANT_DEFINED") + cpp_quote("#define _REFPROPVARIANT_DEFINED") + cpp_quote("#ifdef __cplusplus") + cpp_quote("#define REFPROPVARIANT const PROPVARIANT &") + cpp_quote("#else") + cpp_quote("#define REFPROPVARIANT const PROPVARIANT * __MIDL_CONST") + cpp_quote("#endif") + cpp_quote("#endif") + + cpp_quote("#define PIDDI_THUMBNAIL 0x00000002L /* VT_BLOB */") + cpp_quote("") + cpp_quote("#define PIDSI_TITLE 0x00000002L /* VT_LPSTR */") + cpp_quote("#define PIDSI_SUBJECT 0x00000003L /* VT_LPSTR */") + cpp_quote("#define PIDSI_AUTHOR 0x00000004L /* VT_LPSTR */") + cpp_quote("#define PIDSI_KEYWORDS 0x00000005L /* VT_LPSTR */") + cpp_quote("#define PIDSI_COMMENTS 0x00000006L /* VT_LPSTR */") + cpp_quote("#define PIDSI_TEMPLATE 0x00000007L /* VT_LPSTR */") + cpp_quote("#define PIDSI_LASTAUTHOR 0x00000008L /* VT_LPSTR */") + cpp_quote("#define PIDSI_REVNUMBER 0x00000009L /* VT_LPSTR */") + cpp_quote("#define PIDSI_EDITTIME 0x0000000AL /* VT_FILETIME (UTC) */") + cpp_quote("#define PIDSI_LASTPRINTED 0x0000000BL /* VT_FILETIME (UTC) */") + cpp_quote("#define PIDSI_CREATE_DTM 0x0000000CL /* VT_FILETIME (UTC) */") + cpp_quote("#define PIDSI_LASTSAVE_DTM 0x0000000DL /* VT_FILETIME (UTC) */") + cpp_quote("#define PIDSI_PAGECOUNT 0x0000000EL /* VT_I4 */") + cpp_quote("#define PIDSI_WORDCOUNT 0x0000000FL /* VT_I4 */") + cpp_quote("#define PIDSI_CHARCOUNT 0x00000010L /* VT_I4 */") + cpp_quote("#define PIDSI_THUMBNAIL 0x00000011L /* VT_CF */") + cpp_quote("#define PIDSI_APPNAME 0x00000012L /* VT_LPSTR */") + cpp_quote("#define PIDSI_DOC_SECURITY 0x00000013L /* VT_I4 */") + cpp_quote("") + cpp_quote("#define PIDDSI_CATEGORY 0x00000002L /* VT_LPSTR */") + cpp_quote("#define PIDDSI_PRESFORMAT 0x00000003L /* VT_LPSTR */") + cpp_quote("#define PIDDSI_BYTECOUNT 0x00000004L /* VT_I4 */") + cpp_quote("#define PIDDSI_LINECOUNT 0x00000005L /* VT_I4 */") + cpp_quote("#define PIDDSI_PARCOUNT 0x00000006L /* VT_I4 */") + cpp_quote("#define PIDDSI_SLIDECOUNT 0x00000007L /* VT_I4 */") + cpp_quote("#define PIDDSI_NOTECOUNT 0x00000008L /* VT_I4 */") + cpp_quote("#define PIDDSI_HIDDENCOUNT 0x00000009L /* VT_I4 */") + cpp_quote("#define PIDDSI_MMCLIPCOUNT 0x0000000AL /* VT_I4 */") + cpp_quote("#define PIDDSI_SCALE 0x0000000BL /* VT_BOOL */") + cpp_quote("#define PIDDSI_HEADINGPAIR 0x0000000CL /* VT_VARIANT|VT_VECTOR */") + cpp_quote("#define PIDDSI_DOCPARTS 0x0000000DL /* VT_LPSTR|VT_VECTOR */") + cpp_quote("#define PIDDSI_MANAGER 0x0000000EL /* VT_LPSTR */") + cpp_quote("#define PIDDSI_COMPANY 0x0000000FL /* VT_LPSTR */") + cpp_quote("#define PIDDSI_LINKSDIRTY 0x00000010L /* VT_B0OL */") + + const ULONG PRSPEC_INVALID = 0xffffffff; + const ULONG PRSPEC_LPWSTR = 0; + const ULONG PRSPEC_PROPID = 1; + + typedef struct tagPROPSPEC { + ULONG ulKind; + [switch_is(ulKind)] union { + [case(PRSPEC_PROPID)] PROPID propid; + [case(PRSPEC_LPWSTR)] LPOLESTR lpwstr; + [default] ; + } DUMMYUNIONNAME; + } PROPSPEC; + + typedef struct tagSTATPROPSTG { + LPOLESTR lpwstrName; + PROPID propid; + VARTYPE vt; + } STATPROPSTG; + + cpp_quote("/* Macros for dwOSVersion member of STATPROPSETSTG */") + cpp_quote("#define PROPSETHDR_OSVER_KIND(dwOSVer) HIWORD((dwOSVer))") + cpp_quote("#define PROPSETHDR_OSVER_MAJOR(dwOSVer) LOBYTE(LOWORD((dwOSVer)))") + cpp_quote("#define PROPSETHDR_OSVER_MINOR(dwOSVer) HIBYTE(LOWORD((dwOSVer)))") + cpp_quote("#define PROPSETHDR_OSVERSION_UNKNOWN 0xffffffff") + + typedef struct tagSTATPROPSETSTG { + FMTID fmtid; + CLSID clsid; + DWORD grfFlags; + FILETIME mtime; + FILETIME ctime; + FILETIME atime; + DWORD dwOSVersion; + } STATPROPSETSTG; + + HRESULT ReadMultiple( + [in] ULONG cpspec, + [in, size_is(cpspec)] const PROPSPEC rgpspec[], + [out, size_is(cpspec)] PROPVARIANT rgpropvar[]); + + HRESULT WriteMultiple( + [in] ULONG cpspec, + [in, size_is(cpspec)] const PROPSPEC rgpspec[], + [in, size_is(cpspec)] const PROPVARIANT rgpropvar[], + [in] PROPID propidNameFirst); + + HRESULT DeleteMultiple( + [in] ULONG cpspec, + [in, size_is(cpspec)] const PROPSPEC rgpspec[]); + + HRESULT ReadPropertyNames( + [in] ULONG cpropid, + [in, size_is(cpropid)] const PROPID rgpropid[], + [out, size_is(cpropid)] LPOLESTR rglpwstrName[]); + + HRESULT WritePropertyNames( + [in] ULONG cpropid, + [in, size_is(cpropid)] const PROPID rgpropid[], + [in, size_is(cpropid)] const LPOLESTR rglpwstrName[]); + + HRESULT DeletePropertyNames( + [in] ULONG cpropid, + [in, size_is(cpropid)] const PROPID rgpropid[]); + + HRESULT Commit( + [in] DWORD grfCommitFlags); + + HRESULT Revert(); + + HRESULT Enum( + [out] IEnumSTATPROPSTG **ppenum); + + HRESULT SetTimes( + [in] const FILETIME *pctime, + [in] const FILETIME *patime, + [in] const FILETIME *pmtime); + + HRESULT SetClass( + [in] REFCLSID clsid); + + HRESULT Stat( + [out] STATPROPSETSTG *statpsstg); +} + +[ + object, + uuid(0000013A-0000-0000-C000-000000000046), + pointer_default(unique) +] +interface IPropertySetStorage : IUnknown +{ + typedef [unique] IPropertySetStorage *LPPROPERTYSETSTORAGE; + + HRESULT Create( + [in] REFFMTID rfmtid, + [in, unique] const CLSID *pclsid, + [in] DWORD grfFlags, + [in] DWORD grfMode, + [out] IPropertyStorage **ppprstg); + + HRESULT Open( + [in] REFFMTID rfmtid, + [in] DWORD grfMode, + [out] IPropertyStorage **ppprstg); + + HRESULT Delete( + [in] REFFMTID rfmtid); + + HRESULT Enum( + [out] IEnumSTATPROPSETSTG **ppenum); +} + +[ + object, + uuid(00000139-0000-0000-C000-000000000046), + pointer_default(unique) +] +interface IEnumSTATPROPSTG : IUnknown +{ + typedef [unique] IEnumSTATPROPSTG *LPENUMSTATPROPSTG; + + [local] + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] + STATPROPSTG *rgelt, + [out] ULONG *pceltFetched); + + [call_as(Next)] + HRESULT RemoteNext( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] + STATPROPSTG *rgelt, + [out] ULONG *pceltFetched); + + HRESULT Skip( + [in] ULONG celt); + + HRESULT Reset(); + + HRESULT Clone( + [out] IEnumSTATPROPSTG **ppenum); +} + +[ + object, + uuid(0000013B-0000-0000-C000-000000000046), + pointer_default(unique) +] +interface IEnumSTATPROPSETSTG : IUnknown +{ + typedef [unique] IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG; + + [local] + HRESULT Next( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] + STATPROPSETSTG *rgelt, + [out] ULONG *pceltFetched); + + [call_as(Next)] + HRESULT RemoteNext( + [in] ULONG celt, + [out, size_is(celt), length_is(*pceltFetched)] + STATPROPSETSTG *rgelt, + [out] ULONG *pceltFetched); + + HRESULT Skip( + [in] ULONG celt); + + HRESULT Reset(); + + HRESULT Clone( + [out] IEnumSTATPROPSETSTG **ppenum); +} + +typedef struct SERIALIZEDPROPERTYVALUE { + DWORD dwType; + BYTE rgb[1]; +} SERIALIZEDPROPERTYVALUE; + +cpp_quote("HRESULT WINAPI FreePropVariantArray(ULONG,PROPVARIANT*);") +cpp_quote("HRESULT WINAPI PropVariantClear(PROPVARIANT*);") +cpp_quote("HRESULT WINAPI PropVariantCopy(PROPVARIANT*,const PROPVARIANT*);") +cpp_quote("") +cpp_quote("#define _PROPVARIANT_INIT_DEFINED_") +cpp_quote("#define PropVariantInit(p) memset((p), 0, sizeof(PROPVARIANT))") +cpp_quote("") +cpp_quote("#ifndef _STGCREATEPROPSTG_DEFINED_") +cpp_quote("#define _STGCREATEPROPSTG_DEFINED_") +cpp_quote("HRESULT WINAPI StgCreatePropStg(IUnknown *, REFFMTID, const CLSID *, DWORD, DWORD, IPropertyStorage **);") +cpp_quote("HRESULT WINAPI StgOpenPropStg(IUnknown *, REFFMTID, DWORD, DWORD, IPropertyStorage **);") +cpp_quote("HRESULT WINAPI StgCreatePropSetStg(IStorage *, DWORD, IPropertySetStorage **);") +cpp_quote("#define CCH_MAX_PROPSTG_NAME 31") +cpp_quote("HRESULT WINAPI FmtIdToPropStgName(const FMTID *, LPOLESTR);") +cpp_quote("HRESULT WINAPI PropStgNameToFmtId(const LPOLESTR, FMTID *);") +cpp_quote("#endif /* _STGCREATEPROPSTG_DEFINED_ */") +cpp_quote("") |