*
* 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;
{
ULONG ClientContext;
ULONG Flags;
- };
+ } DUMMYSTRUCTNAME1;
struct
{
ULONG KernelTime;
ULONG UserTime;
- };
+ } DUMMYSTRUCTNAME2;
} DUMMYUNIONNAME3;
} EVENT_TRACE_HEADER, *PEVENT_TRACE_HEADER;
ULONG PointerSize;
ULONG EventsLost;
ULONG CpuSpeedInMHZ;
- };
+ } DUMMYSTRUCTNAME;
} DUMMYUNIONNAME1;
LPWSTR LoggerName;
LPWSTR LogFileName;
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_ */