[PATCH 1/4] include: Move fundamental ORPC types to separate private header.
Nikolay Sivov
nsivov at codeweavers.com
Fri Aug 14 01:16:26 CDT 2020
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
The point is to make necessary types available to rpcss idls and code, combase and ole32.
dlls/ole32/dcom.idl | 151 +--------------------------------
include/Makefile.in | 1 +
include/wine/orpc.idl | 189 ++++++++++++++++++++++++++++++++++++++++++
3 files changed, 191 insertions(+), 150 deletions(-)
create mode 100644 include/wine/orpc.idl
diff --git a/dlls/ole32/dcom.idl b/dlls/ole32/dcom.idl
index c3d090a9cb6..e00aba5834c 100644
--- a/dlls/ole32/dcom.idl
+++ b/dlls/ole32/dcom.idl
@@ -22,7 +22,7 @@
#pragma makedep proxy
#pragma makedep register
-import "unknwn.idl";
+#include "wine/orpc.idl"
[
threading(both),
@@ -30,155 +30,6 @@ import "unknwn.idl";
]
coclass PSFactoryBuffer { interface IFactoryBuffer; }
-[
- uuid(99fcfe60-5260-101b-bbcb-00aa0021347a),
- pointer_default(unique)
-]
-interface ObjectRpcBaseTypes
-{
- typedef unsigned hyper ID;
- typedef ID MID;
- typedef ID OXID;
- typedef ID OID;
- typedef ID SETID;
- typedef GUID IPID;
- typedef GUID CID;
- typedef REFGUID REFIPID;
-
- const unsigned short COM_MINOR_VERSION_1 = 1;
- const unsigned short COM_MINOR_VERSION_2 = 2;
-
- const unsigned short COM_MAJOR_VERSION = 5;
- const unsigned short COM_MINOR_VERSION = 3;
-
- typedef struct tagCOMVERSION {
- unsigned short MajorVersion;
- unsigned short MinorVersion;
- } COMVERSION;
-
- const unsigned long ORPCF_NULL = 0;
- const unsigned long ORPCF_LOCAL = 1;
- const unsigned long ORPCF_RESERVED1 = 2;
- const unsigned long ORPCF_RESERVED2 = 4;
- const unsigned long ORPCF_RESERVED3 = 8;
- const unsigned long ORPCF_RESERVED4 = 16;
-
- typedef struct tagORPC_EXTENT {
- GUID id;
- unsigned long size;
- [size_is((size+7)&~7)] byte data[];
- } ORPC_EXTENT;
-
- typedef struct tagORPC_EXTENT_ARRAY {
- unsigned long size;
- unsigned long reserved;
- [size_is((size+1)&~1,), unique] ORPC_EXTENT **extent;
- } ORPC_EXTENT_ARRAY;
-
- typedef struct tagORPCTHIS {
- COMVERSION version;
- unsigned long flags;
- unsigned long reserved1;
- CID cid;
- [unique] ORPC_EXTENT_ARRAY *extensions;
- } ORPCTHIS;
-
- typedef struct tagORPCTHAT {
- unsigned long flags;
- [unique] ORPC_EXTENT_ARRAY *extensions;
- } ORPCTHAT;
-
- const unsigned short NCADG_IP_UDP = 0x08;
- const unsigned short NCACN_IP_TCP = 0x07;
- const unsigned short NCADG_IPX = 0x0E;
- const unsigned short NCACN_SPX = 0x0C;
- const unsigned short NCACN_NB_NB = 0x12;
- const unsigned short NCACN_NB_IPX = 0x0D;
- const unsigned short NCACN_DNET_NSP = 0x04;
- const unsigned short NCACN_HTTP = 0x1F;
-
- typedef struct tagSTRINGBINDING {
- unsigned short wTowerId;
- [string] WCHAR aNetworkAddr[];
- } STRINGBINDING;
-
- const unsigned short COM_C_AUTHZ_NONE = 0xffff;
-
- typedef struct tagSECURITYBINDING {
- unsigned short wAuthnSvc;
- unsigned short wAuthzSvc;
- [string] WCHAR aPrincName[];
- } SECURITYBINDING;
-
- typedef struct tagDUALSTRINGARRAY {
- unsigned short wNumEntries;
- unsigned short wSecurityOffset;
- [size_is(wNumEntries)] unsigned short aStringArray[];
- } DUALSTRINGARRAY;
-
- typedef struct tagOXID_INFO {
- DWORD dwTid;
- DWORD dwPid;
- IPID ipidRemUnknown;
- DWORD dwAuthnHint;
- DUALSTRINGARRAY *psa;
- } OXID_INFO;
-
- const unsigned long OBJREF_SIGNATURE = 0x574f454d; /* "MEOW" */
- const unsigned long OBJREF_STANDARD = 0x1;
- const unsigned long OBJREF_HANDLER = 0x2;
- const unsigned long OBJREF_CUSTOM = 0x4;
- const unsigned long SORF_OXRES1 = 0x1;
- const unsigned long SORF_OXRES2 = 0x20;
- const unsigned long SORF_OXRES3 = 0x40;
- const unsigned long SORF_OXRES4 = 0x80;
- const unsigned long SORF_OXRES5 = 0x100;
- const unsigned long SORF_OXRES6 = 0x200;
- const unsigned long SORF_OXRES7 = 0x400;
- const unsigned long SORF_OXRES8 = 0x800;
- const unsigned long SORF_NULL = 0x0;
- const unsigned long SORF_NOPING = 0x1000;
-
- typedef struct tagSTDOBJREF {
- unsigned long flags;
- unsigned long cPublicRefs;
- OXID oxid;
- OID oid;
- IPID ipid;
- } STDOBJREF;
-
- typedef struct tagOBJREF {
- unsigned long signature;
- unsigned long flags;
- GUID iid;
- [switch_is(flags)] union {
- [case(OBJREF_STANDARD)] struct OR_STANDARD {
- STDOBJREF std;
- DUALSTRINGARRAY saResAddr;
- } u_standard;
- [case(OBJREF_HANDLER)] struct OR_HANDLER {
- STDOBJREF std;
- CLSID clsid;
- DUALSTRINGARRAY saResAddr;
- } u_handler;
- [case(OBJREF_CUSTOM)] struct OR_CUSTOM {
- CLSID clsid;
- unsigned long cbExtension;
- ULONG size;
- [size_is(size), ref] byte *pData;
- } u_custom;
- } u_objref;
- } OBJREF;
-
- typedef struct tagMInterfacePointer {
- ULONG ulCntData;
- [size_is(ulCntData)] BYTE abData[];
- } MInterfacePointer;
-
- typedef [unique] MInterfacePointer *PMInterfacePointer;
-
-} /* interface ObjectRpcBaseTypes */
-
[
object,
uuid(00000131-0000-0000-C000-000000000046)
diff --git a/include/Makefile.in b/include/Makefile.in
index 23a7d736dd5..49b174ed319 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -740,6 +740,7 @@ SOURCES = \
wine/fil_data.idl \
wine/itss.idl \
wine/library.h \
+ wine/orpc.idl \
wine/svcctl.idl \
wine/winedxgi.idl \
winerror.h \
diff --git a/include/wine/orpc.idl b/include/wine/orpc.idl
new file mode 100644
index 00000000000..c72a43ff2fe
--- /dev/null
+++ b/include/wine/orpc.idl
@@ -0,0 +1,189 @@
+/*
+ * Copyright 2003 Ove Kåven, TransGaming Technologies
+ *
+ * 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
+ */
+
+import "unknwn.idl";
+
+[
+ uuid(99fcfe60-5260-101b-bbcb-00aa0021347a),
+ pointer_default(unique)
+]
+interface ObjectRpcBaseTypes
+{
+ typedef unsigned hyper ID;
+ typedef ID MID;
+ typedef ID OXID;
+ typedef ID OID;
+ typedef ID SETID;
+ typedef GUID IPID;
+ typedef GUID CID;
+ typedef REFGUID REFIPID;
+
+ const unsigned short COM_MINOR_VERSION_1 = 1;
+ const unsigned short COM_MINOR_VERSION_2 = 2;
+
+ const unsigned short COM_MAJOR_VERSION = 5;
+ const unsigned short COM_MINOR_VERSION = 3;
+
+ typedef struct tagCOMVERSION
+ {
+ unsigned short MajorVersion;
+ unsigned short MinorVersion;
+ } COMVERSION;
+
+ const unsigned long ORPCF_NULL = 0;
+ const unsigned long ORPCF_LOCAL = 1;
+ const unsigned long ORPCF_RESERVED1 = 2;
+ const unsigned long ORPCF_RESERVED2 = 4;
+ const unsigned long ORPCF_RESERVED3 = 8;
+ const unsigned long ORPCF_RESERVED4 = 16;
+
+ typedef struct tagORPC_EXTENT
+ {
+ GUID id;
+ unsigned long size;
+ [size_is((size + 7) & ~7)] byte data[];
+ } ORPC_EXTENT;
+
+ typedef struct tagORPC_EXTENT_ARRAY
+ {
+ unsigned long size;
+ unsigned long reserved;
+ [size_is((size + 1) & ~1,), unique] ORPC_EXTENT **extent;
+ } ORPC_EXTENT_ARRAY;
+
+ typedef struct tagORPCTHIS
+ {
+ COMVERSION version;
+ unsigned long flags;
+ unsigned long reserved1;
+ CID cid;
+ [unique] ORPC_EXTENT_ARRAY *extensions;
+ } ORPCTHIS;
+
+ typedef struct tagORPCTHAT
+ {
+ unsigned long flags;
+ [unique] ORPC_EXTENT_ARRAY *extensions;
+ } ORPCTHAT;
+
+ const unsigned short NCADG_IP_UDP = 0x08;
+ const unsigned short NCACN_IP_TCP = 0x07;
+ const unsigned short NCADG_IPX = 0x0E;
+ const unsigned short NCACN_SPX = 0x0C;
+ const unsigned short NCACN_NB_NB = 0x12;
+ const unsigned short NCACN_NB_IPX = 0x0D;
+ const unsigned short NCACN_DNET_NSP = 0x04;
+ const unsigned short NCACN_HTTP = 0x1F;
+
+ typedef struct tagSTRINGBINDING
+ {
+ unsigned short wTowerId;
+ [string] WCHAR aNetworkAddr[];
+ } STRINGBINDING;
+
+ const unsigned short COM_C_AUTHZ_NONE = 0xffff;
+
+ typedef struct tagSECURITYBINDING
+ {
+ unsigned short wAuthnSvc;
+ unsigned short wAuthzSvc;
+ [string] WCHAR aPrincName[];
+ } SECURITYBINDING;
+
+ typedef struct tagDUALSTRINGARRAY
+ {
+ unsigned short wNumEntries;
+ unsigned short wSecurityOffset;
+ [size_is(wNumEntries)] unsigned short aStringArray[];
+ } DUALSTRINGARRAY;
+
+ typedef struct tagOXID_INFO
+ {
+ DWORD dwTid;
+ DWORD dwPid;
+ IPID ipidRemUnknown;
+ DWORD dwAuthnHint;
+ DUALSTRINGARRAY *psa;
+ } OXID_INFO;
+
+ const unsigned long OBJREF_SIGNATURE = 0x574f454d; /* "MEOW" */
+ const unsigned long OBJREF_STANDARD = 0x1;
+ const unsigned long OBJREF_HANDLER = 0x2;
+ const unsigned long OBJREF_CUSTOM = 0x4;
+ const unsigned long SORF_OXRES1 = 0x1;
+ const unsigned long SORF_OXRES2 = 0x20;
+ const unsigned long SORF_OXRES3 = 0x40;
+ const unsigned long SORF_OXRES4 = 0x80;
+ const unsigned long SORF_OXRES5 = 0x100;
+ const unsigned long SORF_OXRES6 = 0x200;
+ const unsigned long SORF_OXRES7 = 0x400;
+ const unsigned long SORF_OXRES8 = 0x800;
+ const unsigned long SORF_NULL = 0x0;
+ const unsigned long SORF_NOPING = 0x1000;
+
+ typedef struct tagSTDOBJREF
+ {
+ unsigned long flags;
+ unsigned long cPublicRefs;
+ OXID oxid;
+ OID oid;
+ IPID ipid;
+ } STDOBJREF;
+
+ typedef struct tagOBJREF
+ {
+ unsigned long signature;
+ unsigned long flags;
+ GUID iid;
+ [switch_is(flags)]
+ union
+ {
+ [case(OBJREF_STANDARD)]
+ struct OR_STANDARD
+ {
+ STDOBJREF std;
+ DUALSTRINGARRAY saResAddr;
+ } u_standard;
+
+ [case(OBJREF_HANDLER)]
+ struct OR_HANDLER
+ {
+ STDOBJREF std;
+ CLSID clsid;
+ DUALSTRINGARRAY saResAddr;
+ } u_handler;
+
+ [case(OBJREF_CUSTOM)]
+ struct OR_CUSTOM
+ {
+ CLSID clsid;
+ unsigned long cbExtension;
+ ULONG size;
+ [size_is(size), ref] byte *pData;
+ } u_custom;
+ } u_objref;
+ } OBJREF;
+
+ typedef struct tagMInterfacePointer
+ {
+ ULONG ulCntData;
+ [size_is(ulCntData)] BYTE abData[];
+ } MInterfacePointer;
+
+ typedef [unique] MInterfacePointer *PMInterfacePointer;
+}
--
2.28.0
More information about the wine-devel
mailing list