lib: compile liblttng-ctl as C++
[lttng-tools.git] / tests / regression / ust / clock-override / lttng-ust-clock-override-test.c
CommitLineData
199800b2
JR
1/*
2 * lttng-clock-override-test.c
3 *
9d16b343
MJ
4 * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
5 * Copyright (C) 2015 Jonthan Rajotte <jonathan.rajotte-julien@efficios.com>
199800b2 6 *
9d16b343 7 * SPDX-License-Identifier: MIT
199800b2 8 *
9d16b343 9 * Based on lttng-clock-override-example.c from LTTng-ust example
199800b2 10 *
199800b2
JR
11 */
12
13#include <stdlib.h>
389fbf04 14#include <common/compat/time.h>
199800b2
JR
15#include <string.h>
16#include <stdio.h>
4bd69c5f 17#include <lttng/lttng-export.h>
199800b2
JR
18#include <lttng/ust-clock.h>
19
20static
21uint64_t plugin_read64(void)
22{
23 /* Freeze time */
24 return 0;
25}
26
27static
28uint64_t plugin_freq(void)
29{
30 return 1000; /* 1KHz clock (very coarse!) */
31}
32
33static
34int plugin_uuid(char *uuid)
35{
36 const char myuuid[] = "83c63deb-7aa4-48fb-abda-946f400d76e6";
37 memcpy(uuid, myuuid, LTTNG_UST_UUID_STR_LEN);
38 return 0;
39}
40
41static
42const char *plugin_name(void)
43{
44 return "lttng_test_clock_override";
45}
46
47static
48const char *plugin_description(void)
49{
50 return "Freeze time with 1KHz for regression test";
51}
52
4bd69c5f 53LTTNG_EXPORT void lttng_ust_clock_plugin_init(void);
199800b2
JR
54void lttng_ust_clock_plugin_init(void)
55{
56 int ret;
57
58 ret = lttng_ust_trace_clock_set_read64_cb(plugin_read64);
59 if (ret) {
60 fprintf(stderr, "Error setting clock override read64 callback: %s\n",
61 strerror(-ret));
62 goto error;
63 }
64 ret = lttng_ust_trace_clock_set_freq_cb(plugin_freq);
65 if (ret) {
66 fprintf(stderr, "Error setting clock override freq callback: %s\n",
67 strerror(-ret));
68 goto error;
69 }
70 ret = lttng_ust_trace_clock_set_uuid_cb(plugin_uuid);
71 if (ret) {
72 fprintf(stderr, "Error setting clock override uuid callback: %s\n",
73 strerror(-ret));
74 goto error;
75 }
76
77 ret = lttng_ust_trace_clock_set_name_cb(plugin_name);
78 if (ret) {
79 fprintf(stderr, "Error setting clock override name callback: %s\n",
80 strerror(-ret));
81 goto error;
82 }
83
84 ret = lttng_ust_trace_clock_set_description_cb(plugin_description);
85 if (ret) {
86 fprintf(stderr, "Error setting clock override description callback: %s\n",
87 strerror(-ret));
88 goto error;
89 }
90
91 ret = lttng_ust_enable_trace_clock_override();
92 if (ret) {
93 fprintf(stderr, "Error enabling clock override: %s\n",
94 strerror(-ret));
95 goto error;
96 }
97
98 return;
99
100error:
101 exit(EXIT_FAILURE);
102}
This page took 0.039663 seconds and 4 git commands to generate.