Commit | Line | Data |
---|---|---|
d086f507 JD |
1 | /* |
2 | * Copyright (C) 2017 - Julien Desfossez <jdesfossez@efficios.com> | |
92816cc3 | 3 | * Copyright (C) 2018 - Jérémie Galarneau <jeremie.galarneau@efficios.com> |
d086f507 JD |
4 | * |
5 | * This program is free software; you can redistribute it and/or modify | |
6 | * it under the terms of the GNU General Public License, version 2 only, | |
7 | * as published by the Free Software Foundation. | |
8 | * | |
9 | * This program is distributed in the hope that it will be useful, but WITHOUT | |
10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
12 | * more details. | |
13 | * | |
14 | * You should have received a copy of the GNU General Public License along | |
15 | * with this program; if not, write to the Free Software Foundation, Inc., | |
16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
17 | */ | |
18 | ||
19 | #ifndef SESSIOND_TIMER_H | |
20 | #define SESSIOND_TIMER_H | |
21 | ||
22 | #include <pthread.h> | |
bc26e826 | 23 | #include <stdbool.h> |
d086f507 JD |
24 | |
25 | #include "session.h" | |
26 | ||
d086f507 | 27 | struct timer_thread_parameters { |
92816cc3 | 28 | struct rotation_thread_timer_queue *rotation_thread_job_queue; |
d086f507 JD |
29 | }; |
30 | ||
92816cc3 | 31 | int timer_signal_init(void); |
d086f507 | 32 | |
92816cc3 JG |
33 | /* Start a session's rotation pending check timer (one-shot mode). */ |
34 | int timer_session_rotation_pending_check_start(struct ltt_session *session, | |
259c2674 | 35 | unsigned int interval_us); |
92816cc3 JG |
36 | /* Stop a session's rotation pending check timer. */ |
37 | int timer_session_rotation_pending_check_stop(struct ltt_session *session); | |
259c2674 | 38 | |
92816cc3 JG |
39 | /* Start a session's rotation schedule timer. */ |
40 | int timer_session_rotation_schedule_timer_start(struct ltt_session *session, | |
259c2674 | 41 | unsigned int interval_us); |
92816cc3 JG |
42 | /* Stop a session's rotation schedule timer. */ |
43 | int timer_session_rotation_schedule_timer_stop(struct ltt_session *session); | |
d88744a4 | 44 | |
bc26e826 JG |
45 | bool launch_timer_thread( |
46 | struct timer_thread_parameters *timer_thread_parameters); | |
47 | ||
d086f507 | 48 | #endif /* SESSIOND_TIMER_H */ |