| 1 | |
| 2 | #ifndef __TRACE_STAT_H
|
| 3 | #define __TRACE_STAT_H
|
| 4 |
|
| 5 | #include <linux/seq_file.h>
|
| 6 |
|
| 7 | |
| 8 | * If you want to provide a stat file (one-shot statistics), fill
|
| 9 | * an iterator with stat_start/stat_next and a stat_show callbacks.
|
| 10 | * The others callbacks are optional.
|
| 11 |
|
| 12 | struct tracer_stat {
|
| 13 |
|
| 14 | const char *name;
|
| 15 |
|
| 16 | void *(*stat_start)(struct tracer_stat *trace);
|
| 17 | void *(*stat_next)(void *prev, int idx);
|
| 18 |
|
| 19 | cmp_func_t stat_cmp;
|
| 20 |
|
| 21 | int (*stat_show)(struct seq_file *s, void *p);
|
| 22 |
|
| 23 | void (*stat_release)(void *stat);
|
| 24 |
|
| 25 | int (*stat_headers)(struct seq_file *s);
|
| 26 | };
|
| 27 |
|
| 28 | |
| 29 | * Destroy or create a stat file
|
| 30 |
|
| 31 | extern int register_stat_tracer(struct tracer_stat *trace);
|
| 32 | extern void unregister_stat_tracer(struct tracer_stat *trace);
|
| 33 |
|
| 34 | #endif
|