summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcasync.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/rpcasync.h')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/rpcasync.h211
1 files changed, 211 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcasync.h b/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcasync.h
new file mode 100644
index 00000000..3f4274d4
--- /dev/null
+++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/rpcasync.h
@@ -0,0 +1,211 @@
+/*
+ * 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
+ */
+
+/*
+ * 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_RPCASYNC_H
+#define __WINE_RPCASYNC_H
+
+#ifdef RPC_NO_WINDOWS_H
+# include <windef.h>
+#endif
+
+#ifdef __RPC_WIN64__
+# include <pshpack8.h>
+#endif
+
+typedef struct tagRPC_ERROR_ENUM_HANDLE
+{
+ ULONG Signature;
+ void* CurrentPos;
+ void* Head;
+} RPC_ERROR_ENUM_HANDLE;
+
+typedef enum tagExtendedErrorParamTypes
+{
+ eeptAnsiString = 1,
+ eeptUnicodeString,
+ eeptLongVal,
+ eeptShortVal,
+ eeptPointerVal,
+ eeptNone,
+ eeptBinary
+} ExtendedErrorParamTypes;
+
+#define MaxNumberOfEEInfoParams 4
+#define RPC_EEINFO_VERSION 1
+
+typedef struct tagBinaryParam
+{
+ void *Buffer;
+ short Size;
+} BinaryParam;
+
+typedef struct tagRPC_EE_INFO_PARAM
+{
+ ExtendedErrorParamTypes ParameterType;
+ union
+ {
+ LPSTR AnsiString;
+ LPWSTR UnicodeString;
+ LONG LVal;
+ short SVal;
+ ULONGLONG PVal;
+ BinaryParam BVal;
+ } u;
+} RPC_EE_INFO_PARAM;
+
+#define EEInfoPreviousRecordsMissing 0x1
+#define EEInfoNextRecordsMissing 0x2
+#define EEInfoUseFileTime 0x4
+
+#define EEInfoGCCOM 11
+#define EEInfoGCFRS 12
+
+typedef struct tagRPC_EXTENDED_ERROR_INFO
+{
+ ULONG Version;
+ LPWSTR ComputerName;
+ ULONG ProcessID;
+ union
+ {
+ SYSTEMTIME SystemTime;
+ FILETIME FileTime;
+ } u;
+ ULONG GeneratingComponent;
+ ULONG Status;
+ USHORT DetectionLocation;
+ USHORT Flags;
+ int NumberOfParameters;
+ RPC_EE_INFO_PARAM Parameters[MaxNumberOfEEInfoParams];
+} RPC_EXTENDED_ERROR_INFO;
+
+#define RPC_ASYNC_VERSION_1_0 sizeof(RPC_ASYNC_STATE)
+
+typedef enum _RPC_NOTIFICATION_TYPES
+{
+ RpcNotificationTypeNone,
+ RpcNotificationTypeEvent,
+ RpcNotificationTypeApc,
+ RpcNotificationTypeIoc,
+ RpcNotificationTypeHwnd,
+ RpcNotificationTypeCallback,
+} RPC_NOTIFICATION_TYPES;
+
+typedef enum _RPC_ASYNC_EVENT
+{
+ RpcCallComplete,
+ RpcSendComplete,
+ RpcReceiveComplete,
+ RpcClientDisconnect,
+ RpcClientCancel,
+} RPC_ASYNC_EVENT;
+
+struct _RPC_ASYNC_STATE;
+
+typedef void RPC_ENTRY RPCNOTIFICATION_ROUTINE(struct _RPC_ASYNC_STATE *,void *,RPC_ASYNC_EVENT);
+typedef RPCNOTIFICATION_ROUTINE *PFN_RPCNOTIFICATION_ROUTINE;
+
+typedef union _RPC_ASYNC_NOTIFICATION_INFO
+{
+ struct
+ {
+ PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
+ HANDLE hThread;
+ } APC;
+ struct
+ {
+ HANDLE hIOPort;
+ DWORD dwNumberOfBytesTransferred;
+ DWORD_PTR dwCompletionKey;
+ LPOVERLAPPED lpOverlapped;
+ } IOC;
+ struct
+ {
+ HWND hWnd;
+ UINT Msg;
+ } HWND;
+ HANDLE hEvent;
+ PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
+} RPC_ASYNC_NOTIFICATION_INFO, *PRPC_ASYNC_NOTIFICATION_INFO;
+
+#define RPC_C_NOTIFY_ON_SEND_COMPLETE 0x1
+#define RPC_C_INFINITE_TIMEOUT INFINITE
+
+typedef struct _RPC_ASYNC_STATE
+{
+ unsigned int Size;
+ ULONG Signature;
+ LONG Lock;
+ ULONG Flags;
+ void *StubInfo;
+ void *UserInfo;
+ void *RuntimeInfo;
+ RPC_ASYNC_EVENT Event;
+ RPC_NOTIFICATION_TYPES NotificationType;
+ RPC_ASYNC_NOTIFICATION_INFO u;
+ LONG_PTR Reserved[4];
+} RPC_ASYNC_STATE, *PRPC_ASYNC_STATE;
+
+#define RpcAsyncGetCallHandle(async) (((PRPC_ASYNC_STATE)async)->RuntimeInfo)
+
+#ifdef __RPC_WIN64__
+# include <poppack.h>
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncInitializeHandle(PRPC_ASYNC_STATE,unsigned int);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncRegisterInfo(PRPC_ASYNC_STATE);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncGetCallStatus(PRPC_ASYNC_STATE);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncCompleteCall(PRPC_ASYNC_STATE,void *);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncAbortCall(PRPC_ASYNC_STATE,ULONG);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncCancelCall(PRPC_ASYNC_STATE,BOOL);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcAsyncCleanupThread(DWORD);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorStartEnumeration(RPC_ERROR_ENUM_HANDLE*);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorGetNextRecord(RPC_ERROR_ENUM_HANDLE*,BOOL,RPC_EXTENDED_ERROR_INFO*);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorEndEnumeration(RPC_ERROR_ENUM_HANDLE*);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorResetEnumeration(RPC_ERROR_ENUM_HANDLE*);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorGetNumberOfRecords(RPC_ERROR_ENUM_HANDLE*,int*);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorSaveErrorInfo(RPC_ERROR_ENUM_HANDLE*,PVOID*,SIZE_T*);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorLoadErrorInfo(PVOID,SIZE_T,RPC_ERROR_ENUM_HANDLE*);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorAddRecord(RPC_EXTENDED_ERROR_INFO*);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcErrorClearInformation(void);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcGetAuthorizationContextForClient(RPC_BINDING_HANDLE,BOOL,LPVOID,PLARGE_INTEGER,LUID,DWORD,PVOID,PVOID*);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcFreeAuthorizationContext(PVOID*);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcSsContextLockExclusive(RPC_BINDING_HANDLE,PVOID);
+RPCRTAPI RPC_STATUS RPC_ENTRY RpcSsContextLockShared(RPC_BINDING_HANDLE,PVOID);
+
+RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcAsyncSetHandle(PRPC_MESSAGE,PRPC_ASYNC_STATE);
+RPCRTAPI RPC_STATUS RPC_ENTRY I_RpcAsyncAbortCall(PRPC_ASYNC_STATE,ULONG);
+RPCRTAPI int RPC_ENTRY I_RpcExceptionFilter(ULONG);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif