]> git.proxmox.com Git - mirror_qemu.git/blame - simpletrace.h
trace: Support for dynamically enabling/disabling trace events
[mirror_qemu.git] / simpletrace.h
CommitLineData
26f7227b
SH
1/*
2 * Simple trace backend
3 *
4 * Copyright IBM, Corp. 2010
5 *
6 * This work is licensed under the terms of the GNU GPL, version 2. See
7 * the COPYING file in the top-level directory.
8 *
9 */
10
11#ifndef SIMPLETRACE_H
12#define SIMPLETRACE_H
13
14#include <stdint.h>
22890ab5
PS
15#include <stdbool.h>
16#include <stdio.h>
26f7227b
SH
17
18typedef uint64_t TraceEventID;
19
22890ab5
PS
20typedef struct {
21 const char *tp_name;
22 bool state;
23} TraceEvent;
24
26f7227b
SH
25void trace0(TraceEventID event);
26void trace1(TraceEventID event, uint64_t x1);
27void trace2(TraceEventID event, uint64_t x1, uint64_t x2);
28void trace3(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3);
29void trace4(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4);
30void trace5(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, uint64_t x5);
31void trace6(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, uint64_t x5, uint64_t x6);
22890ab5
PS
32void st_print_trace(FILE *stream, int (*stream_printf)(FILE *stream, const char *fmt, ...));
33void st_print_trace_events(FILE *stream, int (*stream_printf)(FILE *stream, const char *fmt, ...));
34void st_change_trace_event_state(const char *tname, bool tstate);
26f7227b
SH
35
36#endif /* SIMPLETRACE_H */