summaryrefslogtreecommitdiffstats
path: root/private/types2/proxy
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/types2/proxy
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/types2/proxy')
-rw-r--r--private/types2/proxy/dirs4
-rw-r--r--private/types2/proxy/proxy/call_as.c293
-rw-r--r--private/types2/proxy/proxy/makefile6
-rw-r--r--private/types2/proxy/proxy/persist.old194
-rw-r--r--private/types2/proxy/proxy/proxy.def7
-rw-r--r--private/types2/proxy/proxy/sources50
-rw-r--r--private/types2/proxy/proxy/stdrpc.hxx70
-rw-r--r--private/types2/proxy/proxy/transmit.c23
-rw-r--r--private/types2/proxy/proxy/xmit.h49
-rw-r--r--private/types2/proxy/uuid/makefile6
-rw-r--r--private/types2/proxy/uuid/oledbdat.c8
-rw-r--r--private/types2/proxy/uuid/sources30
12 files changed, 740 insertions, 0 deletions
diff --git a/private/types2/proxy/dirs b/private/types2/proxy/dirs
new file mode 100644
index 000000000..79e7b85d1
--- /dev/null
+++ b/private/types2/proxy/dirs
@@ -0,0 +1,4 @@
+DIRS= uuid
+
+OPTIONAL_DIRS=proxy
+
diff --git a/private/types2/proxy/proxy/call_as.c b/private/types2/proxy/proxy/call_as.c
new file mode 100644
index 000000000..dda9e8a6d
--- /dev/null
+++ b/private/types2/proxy/proxy/call_as.c
@@ -0,0 +1,293 @@
+#if 0
+HRESULT __stdcall IEnumSTATPROPSTG_Next_Proxy(
+ IEnumSTATPROPSTG __RPC_FAR * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ STATPROPSTG __RPC_FAR *rgelt,
+ /* [unique][out][in] */ ULONG __RPC_FAR *pceltFetched)
+{
+ HRESULT hr;
+ ULONG celtFetched = 0;
+
+ hr = IEnumSTATPROPSTG_RemoteNext_Proxy(This, celt, rgelt, &celtFetched);
+
+ if (pceltFetched != 0)
+ {
+ *pceltFetched = celtFetched;
+ }
+
+ return hr;
+}
+
+
+HRESULT __stdcall IEnumSTATPROPSTG_Next_Stub(
+ IEnumSTATPROPSTG __RPC_FAR * This,
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ STATPROPSTG __RPC_FAR *rgelt,
+ /* [out] */ ULONG __RPC_FAR *pceltFetched)
+{
+ return This->lpVtbl->Next(This, celt, rgelt, pceltFetched);
+}
+
+HRESULT __stdcall IEnumSTATPROPSETSTG_Next_Proxy(
+ IEnumSTATPROPSETSTG __RPC_FAR * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ STATPROPSETSTG __RPC_FAR *rgelt,
+ /* [unique][out][in] */ ULONG __RPC_FAR *pceltFetched)
+{
+ HRESULT hr;
+ ULONG celtFetched = 0;
+
+ hr = IEnumSTATPROPSETSTG_RemoteNext_Proxy(This, celt, rgelt, &celtFetched);
+
+ if (pceltFetched != 0)
+ {
+ *pceltFetched = celtFetched;
+ }
+
+ return hr;
+}
+
+
+HRESULT __stdcall IEnumSTATPROPSETSTG_Next_Stub(
+ IEnumSTATPROPSETSTG __RPC_FAR * This,
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ STATPROPSETSTG __RPC_FAR *rgelt,
+ /* [out] */ ULONG __RPC_FAR *pceltFetched)
+{
+ return This->lpVtbl->Next(This, celt, rgelt, pceltFetched);
+}
+#endif
+
+
+HRESULT __stdcall IEnumSTATDIR_Next_Proxy(
+ IEnumSTATDIR __RPC_FAR * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ STATDIR __RPC_FAR *rgelt,
+ /* [unique][out][in] */ ULONG __RPC_FAR *pceltFetched)
+{
+ HRESULT hr;
+ ULONG celtFetched = 0;
+
+ hr = IEnumSTATDIR_RemoteNext_Proxy(This, celt, rgelt, &celtFetched);
+
+ if (pceltFetched != 0)
+ {
+ *pceltFetched = celtFetched;
+ }
+
+ return hr;
+}
+
+
+HRESULT __stdcall IEnumSTATDIR_Next_Stub(
+ IEnumSTATDIR __RPC_FAR * This,
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ STATDIR __RPC_FAR *rgelt,
+ /* [out] */ ULONG __RPC_FAR *pceltFetched)
+{
+ return This->lpVtbl->Next(This, celt, rgelt, pceltFetched);
+}
+
+HRESULT __stdcall IDirectory_CreateElement_Proxy (IDirectory * This,
+ /* [in] */ const WCHAR * pwcsName,
+ /* [in] */ STGCREATE * pStgCreate,
+ /* [in] */ STGOPEN * pStgOpen,
+ /* [in] */ REFIID riid,
+ /* [out] */ void ** ppObjectOpen)
+{
+ HRESULT hr;
+ if (ppObjectOpen) *ppObjectOpen = 0;
+ hr = IDirectory_RemoteCreateElement_Proxy (This,
+ pwcsName, pStgCreate,
+ pStgOpen, riid, (IUnknown **)ppObjectOpen);
+ return hr;
+}
+
+HRESULT __stdcall IDirectory_CreateElement_Stub (IDirectory *This,
+ /* [in] */ const WCHAR * pwcsName,
+ /* [in] */ STGCREATE * pStgCreate,
+ /* [in] */ STGOPEN * pStgOpen,
+ /* [in] */ REFIID riid,
+ /* [out, iid_is(riid)] */ IUnknown ** ppObjectOpen)
+{
+
+ HRESULT hr = This->lpVtbl->CreateElement(This, pwcsName, pStgCreate,
+ pStgOpen, riid, ppObjectOpen);
+ if (FAILED(hr))
+ {
+ // ASSERT(*ppObjectOpen == 0);
+ *ppObjectOpen = 0; // in case we have a misbehaved server
+ }
+ return hr;
+}
+
+HRESULT __stdcall IDirectory_OpenElement_Proxy (IDirectory *This,
+ /* [in] */ const WCHAR *pwcsName,
+ /* [in] */ STGOPEN * pStgOpen,
+ /* [in] */ REFIID riid,
+ /* [out] */ STGFMT * pStgfmt,
+ /* [out] */ void ** ppObjectOpen)
+{
+ HRESULT hr;
+ if (ppObjectOpen) *ppObjectOpen = 0;
+ hr = IDirectory_RemoteOpenElement_Proxy (This,
+ pwcsName, pStgOpen, riid, pStgfmt, (IUnknown **)ppObjectOpen);
+ return hr;
+}
+
+HRESULT __stdcall IDirectory_OpenElement_Stub (IDirectory *This,
+ /* [in] */ const WCHAR *pwcsName,
+ /* [in] */ STGOPEN * pStgOpen,
+ /* [in] */ REFIID riid,
+ /* [out] */ STGFMT * pStgfmt,
+ /* [out, iid_is(riid)] */ IUnknown ** ppObjectOpen)
+{
+ HRESULT hr = This->lpVtbl->OpenElement(This, pwcsName,
+ pStgOpen, riid, pStgfmt, ppObjectOpen);
+ if (FAILED(hr))
+ {
+ //ASSERT(*ppObjectOpen == 0);
+ *ppObjectOpen = 0; // in case we have a misbehaved server
+ }
+ return hr;
+}
+
+
+
+//Transactioning interfaces
+
+HRESULT __stdcall IEnumTransaction_Next_Proxy(
+ IEnumTransaction __RPC_FAR * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ ITransaction __RPC_FAR **rgelt,
+ /* [unique][out][in] */ ULONG __RPC_FAR *pceltFetched)
+{
+ HRESULT hr;
+ ULONG celtFetched = 0;
+
+ hr = IEnumTransaction_RemoteNext_Proxy(This, celt, rgelt, &celtFetched);
+
+ if (pceltFetched != 0)
+ {
+ *pceltFetched = celtFetched;
+ }
+
+ return hr;
+}
+
+HRESULT __stdcall IEnumTransaction_Next_Stub(
+ IEnumTransaction __RPC_FAR * This,
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ ITransaction __RPC_FAR **rgelt,
+ /* [out] */ ULONG __RPC_FAR *pceltFetched)
+{
+ return This->lpVtbl->Next(This, celt, rgelt, pceltFetched);
+}
+
+
+
+HRESULT __stdcall IEnumXACTRE_Next_Proxy(
+ IEnumXACTRE __RPC_FAR * This,
+ /* [in] */ ULONG celt,
+ /* [out] */ XACTRE __RPC_FAR *rgelt,
+ /* [unique][out][in] */ ULONG __RPC_FAR *pceltFetched)
+{
+ HRESULT hr;
+ ULONG celtFetched = 0;
+
+ hr = IEnumXACTRE_RemoteNext_Proxy(This, celt, rgelt, &celtFetched);
+
+ if (pceltFetched != 0)
+ {
+ *pceltFetched = celtFetched;
+ }
+
+ return hr;
+}
+
+HRESULT __stdcall IEnumXACTRE_Next_Stub(
+ IEnumXACTRE __RPC_FAR * This,
+ /* [in] */ ULONG celt,
+ /* [length_is][size_is][out] */ XACTRE __RPC_FAR *rgelt,
+ /* [out] */ ULONG __RPC_FAR *pceltFetched)
+{
+ return This->lpVtbl->Next(This, celt, rgelt, pceltFetched);
+}
+
+
+
+HRESULT __stdcall ITransactionImportWhereabouts_GetWhereabouts_Proxy(
+ ITransactionImportWhereabouts __RPC_FAR * This,
+ /* [in] */ ULONG cbWhereabouts,
+ /* [out] */ BYTE __RPC_FAR *rgbWhereabouts,
+ /* [unique][out][in] */ ULONG __RPC_FAR *pcbUsed)
+{
+ HRESULT hr;
+ ULONG cbUsed = 0;
+
+ hr = ITransactionImportWhereabouts_RemoteGetWhereabouts_Proxy(
+ This,
+ &cbUsed,
+ cbWhereabouts,
+ rgbWhereabouts);
+
+ if (pcbUsed != 0)
+ {
+ *pcbUsed = cbUsed;
+ }
+
+ return hr;
+}
+
+HRESULT __stdcall ITransactionImportWhereabouts_GetWhereabouts_Stub(
+ ITransactionImportWhereabouts __RPC_FAR * This,
+ /* [out] */ ULONG __RPC_FAR *pcbUsed,
+ /* [in] */ ULONG cbWhereabouts,
+ /* [length_is][size_is][out] */ BYTE __RPC_FAR *rgbWhereabouts)
+{
+ return This->lpVtbl->GetWhereabouts(This,
+ cbWhereabouts,
+ rgbWhereabouts,
+ pcbUsed);
+}
+
+
+
+HRESULT __stdcall ITransactionExport_GetTransactionCookie_Proxy(
+ ITransactionExport __RPC_FAR * This,
+ /* [in] */ IUnknown __RPC_FAR *punkTransaction,
+ /* [in] */ ULONG cbTransactionCookie,
+ /* [out] */ BYTE __RPC_FAR *rgbTransactionCookie,
+ /* [unique][out][in] */ ULONG __RPC_FAR *pcbUsed)
+{
+ HRESULT hr;
+ ULONG cbUsed = 0;
+
+ hr = ITransactionExport_RemoteGetTransactionCookie_Proxy(
+ This,
+ punkTransaction,
+ &cbUsed,
+ cbTransactionCookie,
+ rgbTransactionCookie);
+
+ if (pcbUsed != 0)
+ {
+ *pcbUsed = cbUsed;
+ }
+
+ return hr;
+}
+
+HRESULT __stdcall ITransactionExport_GetTransactionCookie_Stub(
+ ITransactionExport __RPC_FAR * This,
+ /* [in] */ IUnknown __RPC_FAR *punkTransaction,
+ /* [out] */ ULONG __RPC_FAR *pcbUsed,
+ /* [in] */ ULONG cbTransactionCookie,
+ /* [length_is][size_is][out] */ BYTE __RPC_FAR *rgbTransactionCookie)
+{
+ return This->lpVtbl->GetTransactionCookie(This,
+ punkTransaction,
+ cbTransactionCookie,
+ rgbTransactionCookie,
+ pcbUsed);
+}
diff --git a/private/types2/proxy/proxy/makefile b/private/types2/proxy/proxy/makefile
new file mode 100644
index 000000000..6ee4f43fa
--- /dev/null
+++ b/private/types2/proxy/proxy/makefile
@@ -0,0 +1,6 @@
+#
+# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
+# file to this component. This file merely indirects to the real make file
+# that is shared by all the components of NT OS/2
+#
+!INCLUDE $(NTMAKEENV)\makefile.def
diff --git a/private/types2/proxy/proxy/persist.old b/private/types2/proxy/proxy/persist.old
new file mode 100644
index 000000000..2d6450a19
--- /dev/null
+++ b/private/types2/proxy/proxy/persist.old
@@ -0,0 +1,194 @@
+//+---------------------------------------------------------------------------
+//
+// Microsoft Windows
+// Copyright (C) Microsoft Corporation, 1993 - 1993.
+//
+// File: persist.c
+//
+// Contents: manually pasted-in implementation of IPersist
+// marshalling code. BUGBUG owned by vibhasc/MIDL.
+//
+// Functions:
+//
+// History: 7-25-94 ErikGav Created
+//
+//----------------------------------------------------------------------------
+
+//#include "rpcproxy.h"
+
+extern const MIDL_FORMAT_STRING __MIDLFormatString;
+
+extern const MIDL_FORMAT_STRING __MIDLProcFormatString;
+
+
+extern const MIDL_STUB_DESC Object_StubDesc;
+
+
+extern const MIDL_SERVER_INFO IPersist_ServerInfo;
+
+#pragma code_seg(".orpc")
+HRESULT __stdcall IPersist_GetClassID_Proxy(
+ IPersist __RPC_FAR * This,
+ /* [out] */ CLSID __RPC_FAR *pClassID)
+{
+CLIENT_CALL_RETURN _RetVal;
+
+
+#ifdef _ALPHA_
+ va_list vlist;
+#endif
+
+#ifdef _ALPHA_
+ va_start(vlist,pClassID);
+ _RetVal = NdrClientCall(
+ ( PMIDL_STUB_DESC )&Object_StubDesc,
+ (PFORMAT_STRING) &__MIDLProcFormatString.Format[0],
+ vlist.a0);
+#else
+ _RetVal = NdrClientCall(
+ ( PMIDL_STUB_DESC )&Object_StubDesc,
+ (PFORMAT_STRING) &__MIDLProcFormatString.Format[0],
+ ( unsigned char __RPC_FAR * )&This);
+#endif
+ return ( HRESULT )_RetVal.Simple;
+
+}
+
+
+static const MIDL_STUB_DESC Object_StubDesc =
+ {
+ 0,
+ NdrOleAllocate,
+ NdrOleFree,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ __MIDLFormatString.Format,
+ 0, /* -error bounds_check flag */
+ 0x10001, /* Ndr library version */
+ 0, /* Reserved */
+ 0, /* Reserved */
+ 0 /* Reserved */
+ };
+
+static const unsigned short IPersist_FormatStringOffsetTable[] =
+ {
+ (unsigned short) -1,
+ (unsigned short) -1,
+ (unsigned short) -1,
+ 0
+ };
+
+static const MIDL_SERVER_INFO IPersist_ServerInfo =
+ {
+ &Object_StubDesc,
+ 0,
+ __MIDLProcFormatString.Format,
+ IPersist_FormatStringOffsetTable,
+ 0
+ };
+
+
+const CInterfaceProxyVtbl _IPersistProxyVtbl =
+{
+ &IID_IPersist,
+ IUnknown_QueryInterface_Proxy,
+ IUnknown_AddRef_Proxy,
+ IUnknown_Release_Proxy,
+ IPersist_GetClassID_Proxy
+};
+const CInterfaceStubVtbl _IPersistStubVtbl =
+{
+ &IID_IPersist,
+ &IPersist_ServerInfo,
+ 4,
+ 0, /* pure interpreted */
+ CStdStubBuffer_QueryInterface,
+ CStdStubBuffer_AddRef,
+ CStdStubBuffer_Release,
+ CStdStubBuffer_Connect,
+ CStdStubBuffer_Disconnect,
+ CStdStubBuffer_Invoke,
+ CStdStubBuffer_IsIIDSupported,
+ CStdStubBuffer_CountRefs,
+ CStdStubBuffer_DebugServerQueryInterface,
+ CStdStubBuffer_DebugServerRelease
+};
+
+static const MIDL_FORMAT_STRING __MIDLProcFormatString =
+ {
+ 0,
+ {
+ 0x33, /* FC_AUTO_HANDLE */
+ 0x44, /* 68 */
+/* 2 */ 0x3, 0x0, /* 3 */
+#ifndef _ALPHA_
+/* 4 */ 0xc, 0x0, /* Stack offset= 12 */
+#else
+ 0x18, 0x0, /* Stack offset= 24 */
+#endif
+/* 6 */
+ 0x51, /* FC_OUT_PARAM */
+ 0x1, /* 1 */
+/* 8 */ 0x0, 0x0, /* Type Offset=0 */
+/* 10 */ 0x53, /* FC_RETURN_PARAM_BASETYPE */
+ 0x8, /* FC_LONG */
+
+ 0x0
+ }
+ };
+
+static const MIDL_FORMAT_STRING __MIDLFormatString =
+ {
+ 0,
+ {
+ 0x11, 0x0, /* FC_RP */
+/* 2 */ 0x8, 0x0, /* Offset= 8 (10) */
+/* 4 */
+ 0x1d, /* FC_SMFARRAY */
+ 0x0, /* 0 */
+/* 6 */ 0x8, 0x0, /* 8 */
+/* 8 */ 0x2, /* FC_CHAR */
+ 0x5b, /* FC_END */
+/* 10 */
+ 0x15, /* FC_STRUCT */
+ 0x3, /* 3 */
+/* 12 */ 0x10, 0x0, /* 16 */
+/* 14 */ 0x8, /* FC_LONG */
+ 0x6, /* FC_SHORT */
+/* 16 */ 0x6, /* FC_SHORT */
+ 0x4c, /* FC_EMBEDDED_COMPLEX */
+/* 18 */ 0x0, /* 0 */
+ 0xf1, 0xff, /* Offset= -15 (4) */
+ 0x5b, /* FC_END */
+
+ 0x0
+ }
+ };
+
+const CInterfaceProxyVtbl * _prsist_ProxyVtblList[] =
+{
+ ( CInterfaceProxyVtbl *) &_IPersistProxyVtbl,
+ 0
+};
+
+const CInterfaceStubVtbl * _prsist_StubVtblList[] =
+{
+ ( CInterfaceStubVtbl *) &_IPersistStubVtbl,
+ 0
+};
+
+PCInterfaceName _prsist_InterfaceNamesList[] =
+{
+ "IPersist",
+ 0
+};
+
+const ExtendedProxyFileInfo prsist_ProxyFileInfo =
+{
+ (PCInterfaceProxyVtblList *) & _prsist_ProxyVtblList,
+ (PCInterfaceStubVtblList *) & _prsist_StubVtblList,
+ (const PCInterfaceName * ) & _prsist_InterfaceNamesList
+};
diff --git a/private/types2/proxy/proxy/proxy.def b/private/types2/proxy/proxy/proxy.def
new file mode 100644
index 000000000..8a22f0109
--- /dev/null
+++ b/private/types2/proxy/proxy/proxy.def
@@ -0,0 +1,7 @@
+LIBRARY PROXY
+
+DESCRIPTION 'Microsoft (R) ShamuOLE Proxy/Stub DLL 1.00'
+
+EXPORTS
+ DllGetClassObject @1
+ DllCanUnloadNow @2
diff --git a/private/types2/proxy/proxy/sources b/private/types2/proxy/proxy/sources
new file mode 100644
index 000000000..33ef2de58
--- /dev/null
+++ b/private/types2/proxy/proxy/sources
@@ -0,0 +1,50 @@
+CAIRO_PRODUCT=1
+NO_CAIRO_LIBS=1
+USE_CRTDLL=1
+
+MAJORCOMP=types2
+MINORCOMP=proxy
+TARGETNAME=proxy
+
+DLLENTRY=_DllMainCRTStartup
+DLLDEF=obj\*\proxy.def
+
+TARGETPATH=$(BASEDIR)\public\sdk\lib\cairo
+TARGETTYPE=DYNLINK
+
+TARGETLIBS= \
+ $(BASEDIR)\public\sdk\lib\*\rpcrt4.lib \
+ $(BASEDIR)\public\sdk\lib\*\kernel32.lib \
+ $(BASEDIR)\public\sdk\lib\*\ole32.lib \
+ $(BASEDIR)\public\sdk\lib\*\gdi32p.lib \
+ $(BASEDIR)\public\sdk\lib\*\oleaut32.lib \
+ $(BASEDIR)\public\sdk\lib\*\wdt32.lib
+
+
+LINKLIBS= \
+ $(BASEDIR)\public\sdk\lib\cairo\*\coruuid.lib \
+ $(BASEDIR)\public\sdk\lib\*\uuid.lib
+
+INCLUDES=..\..\h
+
+CONDITIONAL_INCLUDES= olecairo.h
+
+SYNCHRONIZE_BLOCK=1
+SYNCHRONIZE_DRAIN=1
+
+# note that transmit.c includes the other C files. this is a hacky way
+# to get fast builds without generating a precomp header
+
+#
+# allerror.rc and all files ending in _p.c are generated by MIDL or MC
+#
+SOURCES= \
+ allerror.rc \
+ oleext_p.c \
+ transmit.c \
+ query_p.c \
+ sysmgmt_p.c \
+ dlldata.c \
+ oledb_p.c \
+ transact_p.c \
+ catstg_p.c
diff --git a/private/types2/proxy/proxy/stdrpc.hxx b/private/types2/proxy/proxy/stdrpc.hxx
new file mode 100644
index 000000000..fccdb0e1b
--- /dev/null
+++ b/private/types2/proxy/proxy/stdrpc.hxx
@@ -0,0 +1,70 @@
+//+-------------------------------------------------------------------------
+//
+// Microsoft Windows
+// Copyright (C) Microsoft Corporation, 1992 - 1993.
+//
+// File: stdrpc.hxx
+//
+// Contents: Private header file for building interface proxies and stubs.
+//
+// Classes: CStreamOnMessage
+//
+// Functions:
+//
+// History: 4-Jul-93 ShannonC Created
+// 3-Aug-93 ShannonC Changes for NT511 and IDispatch support.
+// 10-Oct-93 ShannonC Changed to new IRpcChannelBuffer interface.
+// 22-Sep-94 MikeSe Moved from CINC and simplified.
+// 16-Jan-95 DaveStr Copied from cairole\oleprx32\proxy
+// See comments in idiffprx.cxx
+//
+//--------------------------------------------------------------------------
+#ifndef __STDRPC_HXX__
+#define __STDRPC_HXX__
+
+#include <objidl.h>
+
+#define _OLE2ANAC_H_
+#include <windows.h>
+
+class CStreamOnMessage : public IStream
+{
+
+ public:
+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, LPVOID FAR* ppvObj);
+ virtual ULONG STDMETHODCALLTYPE AddRef();
+ virtual ULONG STDMETHODCALLTYPE Release();
+ virtual HRESULT STDMETHODCALLTYPE Read(VOID HUGEP *pv, ULONG cb, ULONG *pcbRead);
+ virtual HRESULT STDMETHODCALLTYPE Write(VOID const HUGEP *pv,
+ ULONG cb,
+ ULONG *pcbWritten) ;
+ virtual HRESULT STDMETHODCALLTYPE Seek(LARGE_INTEGER dlibMove,
+ DWORD dwOrigin,
+ ULARGE_INTEGER *plibNewPosition) ;
+ virtual HRESULT STDMETHODCALLTYPE SetSize(ULARGE_INTEGER libNewSize) ;
+ virtual HRESULT STDMETHODCALLTYPE CopyTo(IStream *pstm,
+ ULARGE_INTEGER cb,
+ ULARGE_INTEGER *pcbRead,
+ ULARGE_INTEGER *pcbWritten) ;
+ virtual HRESULT STDMETHODCALLTYPE Commit(DWORD grfCommitFlags) ;
+ virtual HRESULT STDMETHODCALLTYPE Revert();
+ virtual HRESULT STDMETHODCALLTYPE LockRegion(ULARGE_INTEGER libOffset,
+ ULARGE_INTEGER cb,
+ DWORD dwLockType) ;
+ virtual HRESULT STDMETHODCALLTYPE UnlockRegion(ULARGE_INTEGER libOffset,
+ ULARGE_INTEGER cb,
+ DWORD dwLockType) ;
+ virtual HRESULT STDMETHODCALLTYPE Stat(STATSTG *pstatstg, DWORD grfStatFlag) ;
+ virtual HRESULT STDMETHODCALLTYPE Clone(IStream * *ppstm) ;
+
+ CStreamOnMessage(unsigned char **ppMessageBuffer);
+ CStreamOnMessage(unsigned char **ppMessageBuffer, unsigned long cbMax);
+
+ unsigned char *pStartOfStream;
+ unsigned char **ppBuffer;
+ unsigned long cbMaxStreamLength;
+ ULONG ref_count;
+};
+
+#endif //__STDRPC_HXX__
+
diff --git a/private/types2/proxy/proxy/transmit.c b/private/types2/proxy/proxy/transmit.c
new file mode 100644
index 000000000..3069cdf8a
--- /dev/null
+++ b/private/types2/proxy/proxy/transmit.c
@@ -0,0 +1,23 @@
+//+---------------------------------------------------------------------------
+//
+// Microsoft Windows
+// Copyright (C) Microsoft Corporation, 1993 - 1993.
+//
+// File: transmit.c
+//
+// Contents: hacky, confusing typedef's, MIDL style
+// also includes other files (ugly, but, hey this is types
+// and it's faster than a precomp header...)
+//
+// History: 7-25-94 ErikGav Created
+//
+//----------------------------------------------------------------------------
+#include "rpcproxy.h"
+#include "objbase.h"
+
+#include "oleext.h"
+#include "query.h"
+#include "oledb.h"
+#include "sysmgmt.h"
+
+#include "call_as.c"
diff --git a/private/types2/proxy/proxy/xmit.h b/private/types2/proxy/proxy/xmit.h
new file mode 100644
index 000000000..e15475f48
--- /dev/null
+++ b/private/types2/proxy/proxy/xmit.h
@@ -0,0 +1,49 @@
+//+-------------------------------------------------------------------------
+//
+// Microsoft Windows
+// Copyright (C) Microsoft Corporation, 1994.
+//
+// File: transmit.h
+//
+// Contents: Function prototypes for STGMEDIUM marshalling.
+//
+// Functions: STGMEDIUM_to_xmit
+// STGMEDIUM_from_xmit
+// STGMEDIUM_free_inst
+//
+// History: May-10-94 ShannonC Created
+// Jan-16-95 DaveStr Copied from cairole\oleprx32\proxy\transmit.h
+// See comments in idiffprx.cxx
+//
+//--------------------------------------------------------------------------
+EXTERN_C void __RPC_API STGMEDIUM_to_xmit (STGMEDIUM *pinst, RemSTGMEDIUM **ppxmit);
+EXTERN_C void __RPC_API STGMEDIUM_from_xmit (RemSTGMEDIUM __RPC_FAR *pxmit, STGMEDIUM __RPC_FAR *pinst);
+EXTERN_C void __RPC_API STGMEDIUM_free_inst(STGMEDIUM *pinst);
+
+EXTERN_C void __RPC_API HGLOBAL_to_xmit (HGLOBAL __RPC_FAR *, RemHGLOBAL __RPC_FAR * __RPC_FAR *);
+EXTERN_C void __RPC_API HGLOBAL_from_xmit (RemHGLOBAL __RPC_FAR *, HGLOBAL __RPC_FAR *);
+EXTERN_C void __RPC_API HGLOBAL_free_inst (HGLOBAL __RPC_FAR *);
+EXTERN_C void __RPC_API HGLOBAL_free_xmit (RemHGLOBAL __RPC_FAR *);
+
+EXTERN_C void __RPC_API HBITMAP_to_xmit (HBITMAP __RPC_FAR *, RemHBITMAP __RPC_FAR * __RPC_FAR *);
+EXTERN_C void __RPC_API HBITMAP_from_xmit (RemHBITMAP __RPC_FAR *, HBITMAP __RPC_FAR *);
+EXTERN_C void __RPC_API HBITMAP_free_inst (HBITMAP __RPC_FAR *);
+EXTERN_C void __RPC_API HBITMAP_free_xmit (RemHBITMAP __RPC_FAR *);
+
+EXTERN_C void __RPC_API HPALETTE_to_xmit (HPALETTE __RPC_FAR *, RemHPALETTE __RPC_FAR * __RPC_FAR *);
+EXTERN_C void __RPC_API HPALETTE_from_xmit (RemHPALETTE __RPC_FAR *, HPALETTE __RPC_FAR *);
+EXTERN_C void __RPC_API HPALETTE_free_inst (HPALETTE __RPC_FAR *);
+EXTERN_C void __RPC_API HPALETTE_free_xmit (RemHPALETTE __RPC_FAR *);
+
+EXTERN_C void __RPC_API HMETAFILEPICT_to_xmit (HMETAFILEPICT __RPC_FAR *, RemHMETAFILEPICT __RPC_FAR * __RPC_FAR *);
+EXTERN_C void __RPC_API HMETAFILEPICT_from_xmit (RemHMETAFILEPICT __RPC_FAR *, HMETAFILEPICT __RPC_FAR *);
+EXTERN_C void __RPC_API HMETAFILEPICT_free_inst (HMETAFILEPICT __RPC_FAR *);
+EXTERN_C void __RPC_API HMETAFILEPICT_free_xmit (RemHMETAFILEPICT __RPC_FAR *);
+
+EXTERN_C void __RPC_API HENHMETAFILE_to_xmit (HENHMETAFILE __RPC_FAR *, RemHENHMETAFILE __RPC_FAR * __RPC_FAR *);
+EXTERN_C void __RPC_API HENHMETAFILE_from_xmit (RemHENHMETAFILE __RPC_FAR *, HENHMETAFILE __RPC_FAR *);
+EXTERN_C void __RPC_API HENHMETAFILE_free_inst (HENHMETAFILE __RPC_FAR *);
+EXTERN_C void __RPC_API HENHMETAFILE_free_xmit (RemHENHMETAFILE __RPC_FAR *);
+
+
+
diff --git a/private/types2/proxy/uuid/makefile b/private/types2/proxy/uuid/makefile
new file mode 100644
index 000000000..6ee4f43fa
--- /dev/null
+++ b/private/types2/proxy/uuid/makefile
@@ -0,0 +1,6 @@
+#
+# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
+# file to this component. This file merely indirects to the real make file
+# that is shared by all the components of NT OS/2
+#
+!INCLUDE $(NTMAKEENV)\makefile.def
diff --git a/private/types2/proxy/uuid/oledbdat.c b/private/types2/proxy/uuid/oledbdat.c
new file mode 100644
index 000000000..ca38e72b2
--- /dev/null
+++ b/private/types2/proxy/uuid/oledbdat.c
@@ -0,0 +1,8 @@
+//
+// Define external constants for OLE-DB
+//
+
+#undef __DBS_H__
+#define DBINITCONSTANTS
+
+#include <oledb.h>
diff --git a/private/types2/proxy/uuid/sources b/private/types2/proxy/uuid/sources
new file mode 100644
index 000000000..df8e56d45
--- /dev/null
+++ b/private/types2/proxy/uuid/sources
@@ -0,0 +1,30 @@
+#+---------------------------------------------------------------------------
+#
+# Microsoft Windows
+# Copyright (C) Microsoft Corporation, 1992 - 1993.
+#
+# File: sources
+#
+# History: 02-Aug-94 LyleC Created
+#
+#----------------------------------------------------------------------------
+
+MAJORCOMP=proxy
+MINORCOMP=uuid
+TARGETNAME=coruuid
+TARGETPATH=$(BASEDIR)\public\sdk\lib\cairo
+TARGETTYPE=LIBRARY
+
+#
+# All files listed below (except oledbdat.c) are generated by MIDL
+#
+SOURCES= oledbdat.c \
+ oleext_i.c \
+ query_i.c \
+ oledb_i.c \
+ sysmgmt_i.c \
+ transact_i.c\
+ catstg_i.c
+
+SYNCHRONIZE_BLOCK=1
+SYNCHRONIZE_DRAIN=1