gdi32/tests: Fix MSVC build in icm.c.
[wine] / include / evntrace.h
index f2a96e0..4cacc84 100644 (file)
@@ -13,7 +13,7 @@
  *
  * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
 #ifndef _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;
@@ -76,12 +85,12 @@ typedef struct _EVENT_TRACE_HEADER
         {
             ULONG ClientContext;
             ULONG Flags;
-        };
+        } DUMMYSTRUCTNAME1;
         struct
         {
             ULONG KernelTime;
             ULONG UserTime;
-        };
+        } DUMMYSTRUCTNAME2;
     } DUMMYUNIONNAME3;
 } EVENT_TRACE_HEADER, *PEVENT_TRACE_HEADER;
 
@@ -128,7 +137,7 @@ typedef struct _TRACE_LOGFILE_HEADER
             ULONG PointerSize;
             ULONG EventsLost;
             ULONG CpuSpeedInMHZ;
-        };
+        } DUMMYSTRUCTNAME;
     } DUMMYUNIONNAME1;
     LPWSTR LoggerName;
     LPWSTR LogFileName;
@@ -172,10 +181,51 @@ struct _EVENT_TRACE_LOGFILEA
     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 WINAPI UnregisterTraceGuids(TRACEHANDLE);
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* _EVNTRACE_ */