diff options
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/evntrace.h')
-rw-r--r-- | src/VBox/Devices/Graphics/shaderlib/wine/include/evntrace.h | 251 |
1 files changed, 251 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/evntrace.h b/src/VBox/Devices/Graphics/shaderlib/wine/include/evntrace.h new file mode 100644 index 00000000..db3e5716 --- /dev/null +++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/evntrace.h @@ -0,0 +1,251 @@ +/* + * Copyright (C) 2005 Mike McCormack + * + * 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 _EVNTRACE_ +#define _EVNTRACE_ + +#include <guiddef.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define EVENT_TRACE_CONTROL_QUERY 0 +#define EVENT_TRACE_CONTROL_STOP 1 +#define EVENT_TRACE_CONTROL_UPDATE 2 +#define EVENT_TRACE_CONTROL_FLUSH 3 + +typedef ULONG64 TRACEHANDLE, *PTRACEHANDLE; + +struct _EVENT_TRACE_LOGFILEA; +struct _EVENT_TRACE_LOGFILEW; + +typedef struct _EVENT_TRACE_LOGFILEA EVENT_TRACE_LOGFILEA, *PEVENT_TRACE_LOGFILEA; +typedef struct _EVENT_TRACE_LOGFILEW EVENT_TRACE_LOGFILEW, *PEVENT_TRACE_LOGFILEW; + +typedef ULONG (WINAPI * PEVENT_TRACE_BUFFER_CALLBACKA)( PEVENT_TRACE_LOGFILEA ); +typedef ULONG (WINAPI * PEVENT_TRACE_BUFFER_CALLBACKW)( PEVENT_TRACE_LOGFILEW ); + +typedef ULONG (WINAPI * WMIDPREQUEST)( WMIDPREQUESTCODE, PVOID, ULONG*, PVOID ); + +typedef struct _TRACE_GUID_REGISTRATION +{ + LPCGUID Guid; + HANDLE RegHandle; +} TRACE_GUID_REGISTRATION, *PTRACE_GUID_REGISTRATION; + +typedef struct _TRACE_GUID_PROPERTIES { + GUID Guid; + ULONG GuidType; + ULONG LoggerId; + ULONG EnableLevel; + ULONG EnableFlags; + BOOLEAN IsEnable; +} TRACE_GUID_PROPERTIES, *PTRACE_GUID_PROPERTIES; + +typedef struct _EVENT_TRACE_HEADER +{ + USHORT Size; + union + { + USHORT FieldTypeFlags; + struct + { + UCHAR HeaderType; + UCHAR MarkerFlags; + } DUMMYSTRUCTNAME; + } DUMMYUNIONNAME; + union + { + ULONG Version; + struct + { + UCHAR Type; + UCHAR Level; + USHORT Version; + } Class; + } DUMMYUNIONNAME1; + ULONG ThreadId; + ULONG ProcessId; + LARGE_INTEGER TimeStamp; + union + { + GUID Guid; + ULONGLONG GuidPtr; + } DUMMYUNIONNAME2; + union + { + struct + { + ULONG ClientContext; + ULONG Flags; + } DUMMYSTRUCTNAME1; + struct + { + ULONG KernelTime; + ULONG UserTime; + } DUMMYSTRUCTNAME2; + } DUMMYUNIONNAME3; +} EVENT_TRACE_HEADER, *PEVENT_TRACE_HEADER; + +typedef struct _EVENT_TRACE +{ + EVENT_TRACE_HEADER Header; + ULONG InstanceId; + ULONG ParentInstanceId; + GUID ParentGuid; + PVOID MofData; + ULONG MofLength; + ULONG ClientContext; +} EVENT_TRACE, *PEVENT_TRACE; + +typedef VOID (WINAPI * PEVENT_CALLBACK)( PEVENT_TRACE ); + +typedef struct _TRACE_LOGFILE_HEADER +{ + ULONG BufferSize; + union + { + ULONG Version; + struct + { + UCHAR MajorVersion; + UCHAR MinorVersion; + UCHAR SubVersion; + UCHAR SubMinorVersion; + } VersionDetail; + } DUMMYUNIONNAME; + ULONG ProviderVersion; + ULONG NumberOfProcessors; + LARGE_INTEGER EndTime; + ULONG TimerResolution; + ULONG MaximumFileSize; + ULONG LogFileMode; + ULONG BuffersWritten; + union + { + GUID LogInstanceGuid; + struct + { + ULONG StartBuffers; + ULONG PointerSize; + ULONG EventsLost; + ULONG CpuSpeedInMHZ; + } DUMMYSTRUCTNAME; + } DUMMYUNIONNAME1; + LPWSTR LoggerName; + LPWSTR LogFileName; + TIME_ZONE_INFORMATION TimeZone; + LARGE_INTEGER BootTime; + LARGE_INTEGER PerfFreq; + LARGE_INTEGER StartTime; + ULONG ReservedTime; + ULONG BuffersLost; +} TRACE_LOGFILE_HEADER, *PTRACE_LOGFILE_HEADER; + +struct _EVENT_TRACE_LOGFILEW +{ + LPWSTR LogFileName; + LPWSTR LoggerName; + LONGLONG CurrentTime; + ULONG LogFileMode; + EVENT_TRACE CurrentEvent; + TRACE_LOGFILE_HEADER LogfileHeader; + PEVENT_TRACE_BUFFER_CALLBACKW BufferCallback; + ULONG BufferSize; + ULONG Filled; + ULONG EventsLost; + PEVENT_CALLBACK EventCallback; + PVOID Context; +}; + +struct _EVENT_TRACE_LOGFILEA +{ + LPSTR LogFileName; + LPSTR LoggerName; + LONGLONG CurrentTime; + ULONG LogFileMode; + EVENT_TRACE CurrentEvent; + TRACE_LOGFILE_HEADER LogfileHeader; + PEVENT_TRACE_BUFFER_CALLBACKA BufferCallback; + ULONG BufferSize; + ULONG Filled; + ULONG EventsLost; + PEVENT_CALLBACK EventCallback; + PVOID Context; +}; + +typedef struct _EVENT_TRACE_PROPERTIES +{ + WNODE_HEADER Wnode; + ULONG BufferSize; + ULONG MinimumBuffers; + ULONG MaximumBuffers; + ULONG MaximumFileSize; + ULONG LogFileMode; + ULONG FlushTimer; + LONG AgeLimit; + ULONG NumberOfBuffers; + ULONG FreeBuffers; + ULONG EventsLost; + ULONG BuffersWritten; + ULONG LogBuffersLost; + ULONG RealTimeBuffersLost; + HANDLE LoggerThreadId; + ULONG LoggerFileNameOffset; + ULONG LoggerNameOffset; +} EVENT_TRACE_PROPERTIES, *PEVENT_TRACE_PROPERTIES; + +#define INVALID_PROCESSTRACE_HANDLE ((TRACEHANDLE)~(ULONG_PTR)0) + +ULONG WINAPI CloseTrace(TRACEHANDLE); +ULONG WINAPI ControlTraceA(TRACEHANDLE,LPCSTR,PEVENT_TRACE_PROPERTIES,ULONG); +ULONG WINAPI ControlTraceW(TRACEHANDLE,LPCWSTR,PEVENT_TRACE_PROPERTIES,ULONG); +#define ControlTrace WINELIB_NAME_AW(ControlTrace) +ULONG WINAPI EnableTrace(ULONG,ULONG,ULONG,LPCGUID,TRACEHANDLE); +ULONG WINAPI FlushTraceA(TRACEHANDLE,LPCSTR,PEVENT_TRACE_PROPERTIES); +ULONG WINAPI FlushTraceW(TRACEHANDLE,LPCWSTR,PEVENT_TRACE_PROPERTIES); +#define FlushTrace WINELIB_NAME_AW(FlushTrace) +ULONG WINAPI QueryAllTracesA(PEVENT_TRACE_PROPERTIES*,ULONG,PULONG); +ULONG WINAPI QueryAllTracesW(PEVENT_TRACE_PROPERTIES*,ULONG,PULONG); +#define QueryAllTraces WINELIB_NAME_AW(QueryAllTraces) +ULONG WINAPI RegisterTraceGuidsA(WMIDPREQUEST,PVOID,LPCGUID,ULONG,PTRACE_GUID_REGISTRATION,LPCSTR,LPCSTR,PTRACEHANDLE); +ULONG WINAPI RegisterTraceGuidsW(WMIDPREQUEST,PVOID,LPCGUID,ULONG,PTRACE_GUID_REGISTRATION,LPCWSTR,LPCWSTR,PTRACEHANDLE); +#define RegisterTraceGuids WINELIB_NAME_AW(RegisterTraceGuids) +ULONG WINAPI StartTraceA(PTRACEHANDLE,LPCSTR,PEVENT_TRACE_PROPERTIES); +ULONG WINAPI StartTraceW(PTRACEHANDLE,LPCWSTR,PEVENT_TRACE_PROPERTIES); +#define StartTrace WINELIB_NAME_AW(StartTrace) +ULONG WINAPI TraceEvent(TRACEHANDLE,PEVENT_TRACE_HEADER); +ULONG WINAPIV TraceMessage(TRACEHANDLE,ULONG,LPGUID,USHORT,...); +ULONG WINAPI TraceMessageVa(TRACEHANDLE,ULONG,LPGUID,USHORT,__ms_va_list); +ULONG WINAPI UnregisterTraceGuids(TRACEHANDLE); + +#ifdef __cplusplus +} +#endif + +#endif /* _EVNTRACE_ */ |