]>
Commit | Line | Data |
---|---|---|
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> | |
15 | #include <stdbool.h> | |
16 | #include <stdio.h> | |
17 | ||
18 | #ifdef CONFIG_SIMPLE_TRACE | |
19 | typedef uint64_t TraceEventID; | |
20 | ||
21 | typedef struct { | |
22 | const char *tp_name; | |
23 | bool state; | |
24 | } TraceEvent; | |
25 | ||
26 | void trace0(TraceEventID event); | |
27 | void trace1(TraceEventID event, uint64_t x1); | |
28 | void trace2(TraceEventID event, uint64_t x1, uint64_t x2); | |
29 | void trace3(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3); | |
30 | void trace4(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4); | |
31 | void trace5(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, uint64_t x5); | |
32 | void trace6(TraceEventID event, uint64_t x1, uint64_t x2, uint64_t x3, uint64_t x4, uint64_t x5, uint64_t x6); | |
33 | void st_print_trace(FILE *stream, fprintf_function stream_printf); | |
34 | void st_print_trace_events(FILE *stream, fprintf_function stream_printf); | |
35 | bool st_change_trace_event_state(const char *tname, bool tstate); | |
36 | void st_print_trace_file_status(FILE *stream, fprintf_function stream_printf); | |
37 | void st_set_trace_file_enabled(bool enable); | |
38 | bool st_set_trace_file(const char *file); | |
39 | void st_flush_trace_buffer(void); | |
40 | void st_init(const char *file); | |
41 | #else | |
42 | static inline void st_init(const char *file) | |
43 | { | |
44 | /* Do nothing */ | |
45 | } | |
46 | #endif /* !CONFIG_SIMPLE_TRACE */ | |
47 | ||
48 | #endif /* SIMPLETRACE_H */ |