~lttng/lttng-modules/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* SPDX-License-Identifier: (GPL-2.0 or LGPL-2.1)
 *
 * lttng-clock.h
 *
 * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
 */

#ifndef _LTTNG_CLOCK_H
#define _LTTNG_CLOCK_H

#include <linux/module.h>

#define LTTNG_MODULES_UUID_STR_LEN	37

struct lttng_trace_clock {
	u64 (*read64)(void);
	u64 (*freq)(void);
	int (*uuid)(char *uuid);
	const char *(*name)(void);
	const char *(*description)(void);
};

int lttng_clock_register_plugin(struct lttng_trace_clock *ltc,
		struct module *mod);
void lttng_clock_unregister_plugin(struct lttng_trace_clock *ltc,
		struct module *mod);

#endif /* _LTTNG_TRACE_CLOCK_H */