summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcdcep.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/rpcdcep.h')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/rpcdcep.h241
1 files changed, 241 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcdcep.h b/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcdcep.h
new file mode 100644
index 00000000..b0d6f0d1
--- /dev/null
+++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcdcep.h
@@ -0,0 +1,241 @@
+/*
+ * Copyright (C) 2000 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
+ */
+
+/*
+ * 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 __WINE_RPCDCEP_H
+#define __WINE_RPCDCEP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct _RPC_VERSION {
+ unsigned short MajorVersion;
+ unsigned short MinorVersion;
+} RPC_VERSION;
+
+typedef struct _RPC_SYNTAX_IDENTIFIER {
+ GUID SyntaxGUID;
+ RPC_VERSION SyntaxVersion;
+} RPC_SYNTAX_IDENTIFIER, *PRPC_SYNTAX_IDENTIFIER;
+
+typedef struct _RPC_MESSAGE
+{
+ RPC_BINDING_HANDLE Handle;
+ ULONG DataRepresentation;
+ void* Buffer;
+ unsigned int BufferLength;
+ unsigned int ProcNum;
+ PRPC_SYNTAX_IDENTIFIER TransferSyntax;
+ void* RpcInterfaceInformation;
+ void* ReservedForRuntime;
+ RPC_MGR_EPV* ManagerEpv;
+ void* ImportContext;
+ ULONG RpcFlags;
+} RPC_MESSAGE, *PRPC_MESSAGE;
+
+/* or'ed with ProcNum */
+#define RPC_FLAGS_VALID_BIT 0x00008000
+
+#define RPC_CONTEXT_HANDLE_DEFAULT_GUARD ((void *)0xfffff00d)
+
+#define RPC_CONTEXT_HANDLE_DEFAULT_FLAGS 0x00000000
+#define RPC_CONTEXT_HANDLE_FLAGS 0x30000000
+#define RPC_CONTEXT_HANDLE_SERIALIZE 0x10000000
+#define RPC_CONTEXT_HANDLE_DONT_SERIALIZE 0x20000000
+#define RPC_TYPE_STRICT_CONTEXT_HANDLE 0x40000000
+
+#define RPC_NCA_FLAGS_DEFAULT 0x00000000
+#define RPC_NCA_FLAGS_IDEMPOTENT 0x00000001
+#define RPC_NCA_FLAGS_BROADCAST 0x00000002
+#define RPC_NCA_FLAGS_MAYBE 0x00000004
+
+#define RPC_BUFFER_COMPLETE 0x00001000
+#define RPC_BUFFER_PARTIAL 0x00002000
+#define RPC_BUFFER_EXTRA 0x00004000
+#define RPC_BUFFER_ASYNC 0x00008000
+#define RPC_BUFFER_NONOTIFY 0x00010000
+
+#define RPCFLG_MESSAGE 0x01000000
+#define RPCFLG_HAS_MULTI_SYNTAXES 0x02000000
+#define RPCFLG_HAS_CALLBACK 0x04000000
+#define RPCFLG_AUTO_COMPLETE 0x08000000
+#define RPCFLG_LOCAL_CALL 0x10000000
+#define RPCFLG_INPUT_SYNCHRONOUS 0x20000000
+#define RPCFLG_ASYNCHRONOUS 0x40000000
+#define RPCFLG_NON_NDR 0x80000000
+
+typedef void (__RPC_STUB *RPC_DISPATCH_FUNCTION)(PRPC_MESSAGE Message);
+typedef RPC_STATUS (RPC_ENTRY *RPC_FORWARD_FUNCTION)(UUID *InterfaceId, RPC_VERSION *InterfaceVersion, UUID *ObjectId, unsigned char *Rpcpro, void **ppDestEndpoint);
+
+typedef struct
+{
+ unsigned int DispatchTableCount;
+ RPC_DISPATCH_FUNCTION* DispatchTable;
+ LONG_PTR Reserved;
+} RPC_DISPATCH_TABLE, *PRPC_DISPATCH_TABLE;
+
+typedef struct _RPC_PROTSEQ_ENDPOINT
+{
+ unsigned char* RpcProtocolSequence;
+ unsigned char* Endpoint;
+} RPC_PROTSEQ_ENDPOINT, *PRPC_PROTSEQ_ENDPOINT;
+
+#define NT351_INTERFACE_SIZE 0x40
+#define RPC_INTERFACE_HAS_PIPES 0x0001
+
+typedef struct _RPC_SERVER_INTERFACE
+{
+ unsigned int Length;
+ RPC_SYNTAX_IDENTIFIER InterfaceId;
+ RPC_SYNTAX_IDENTIFIER TransferSyntax;
+ PRPC_DISPATCH_TABLE DispatchTable;
+ unsigned int RpcProtseqEndpointCount;
+ PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
+ RPC_MGR_EPV* DefaultManagerEpv;
+ void const* InterpreterInfo;
+ unsigned int Flags;
+} RPC_SERVER_INTERFACE, *PRPC_SERVER_INTERFACE;
+
+typedef struct _RPC_CLIENT_INTERFACE
+{
+ unsigned int Length;
+ RPC_SYNTAX_IDENTIFIER InterfaceId;
+ RPC_SYNTAX_IDENTIFIER TransferSyntax;
+ PRPC_DISPATCH_TABLE DispatchTable;
+ unsigned int RpcProtseqEndpointCount;
+ PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint;
+ ULONG_PTR Reserved;
+ void const* InterpreterInfo;
+ unsigned int Flags;
+} RPC_CLIENT_INTERFACE, *PRPC_CLIENT_INTERFACE;
+
+#define RPC_C_OPT_COOKIE_AUTH 7
+
+typedef struct _RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR
+{
+ ULONG BufferSize;
+ char *Buffer;
+} RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR;
+
+#define TRANSPORT_TYPE_CN 0x01
+#define TRANSPORT_TYPE_DG 0x02
+#define TRANSPORT_TYPE_LPC 0x04
+#define TRANSPORT_TYPE_WMSG 0x08
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcNegotiateTransferSyntax( RPC_MESSAGE* Message );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcGetBuffer( RPC_MESSAGE* Message );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcGetBufferWithObject( RPC_MESSAGE* Message, UUID* ObjectUuid );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcSendReceive( RPC_MESSAGE* Message );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcFreeBuffer( RPC_MESSAGE* Message );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcSend( RPC_MESSAGE* Message );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcReceive( RPC_MESSAGE* Message );
+
+RPCRTAPI void* RPC_ENTRY
+ I_RpcAllocate( unsigned int Size );
+RPCRTAPI void RPC_ENTRY
+ I_RpcFree( void* Object );
+
+RPCRTAPI RPC_BINDING_HANDLE RPC_ENTRY
+ I_RpcGetCurrentCallHandle( void );
+
+/*
+ * The platform SDK headers don't define these functions at all if WINNT is defined
+ * The MSVC6 headers define two different sets of functions :
+ * If WINNT and MSWMSG are defined, the NT versions are defined
+ * If WINNT is not defined, the windows 9x versions are defined.
+ * Note that the prototypes for I_RpcBindingSetAsync are different for each case.
+ *
+ * Wine defaults to the WinNT case and only defines these function is MSWMSG is
+ * defined. Defining the NT functions by default causes MIDL generated proxies
+ * to not compile.
+ */
+
+#if 1 /* WINNT */
+#ifdef MSWMSG
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcServerStartListening( HWND hWnd );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcServerStopListening( void );
+/* WINNT */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_GetThreadWindowHandle( HWND* hWnd );
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcAsyncSendReceive( RPC_MESSAGE* Message, void* Context, HWND hWnd );
+
+typedef RPC_STATUS (*RPC_BLOCKING_FN)(void* hWnd, void* Context, HANDLE hSyncEvent);
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcBindingSetAsync( RPC_BINDING_HANDLE Binding, RPC_BLOCKING_FN BlockingFn );
+
+RPCRTAPI UINT RPC_ENTRY
+ I_RpcWindowProc( void* hWnd, UINT Message, UINT wParam, ULONG lParam );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcSetWMsgEndpoint( WCHAR* Endpoint );
+
+#endif
+
+#else
+
+/* WIN9x */
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcServerStartListening( void* hWnd );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcServerStopListening( void );
+
+typedef RPC_STATUS (*RPC_BLOCKING_FN)(void* hWnd, void* Context, void* hSyncEvent);
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcBindingSetAsync( RPC_BINDING_HANDLE Binding, RPC_BLOCKING_FN BlockingFn, ULONG ServerTid );
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcSetThreadParams( int fClientFree, void* Context, void* hWndClient );
+
+RPCRTAPI UINT RPC_ENTRY
+ I_RpcWindowProc( void* hWnd, unsigned int Message, unsigned int wParam, ULONG lParam );
+
+#endif
+
+RPCRTAPI RPC_STATUS RPC_ENTRY
+ I_RpcBindingInqTransportType( RPC_BINDING_HANDLE Binding, unsigned int* Type );
+
+RPCRTAPI LONG RPC_ENTRY I_RpcMapWin32Status(RPC_STATUS);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*__WINE_RPCDCEP_H */