xref: /openbmc/linux/tools/thermal/lib/mainloop.h (revision 3b7c5e8a)
1*3b7c5e8aSDaniel Lezcano /* SPDX-License-Identifier: LGPL-2.1+ */
2*3b7c5e8aSDaniel Lezcano /* Copyright (C) 2022, Linaro Ltd - Daniel Lezcano <daniel.lezcano@linaro.org> */
3*3b7c5e8aSDaniel Lezcano #ifndef __THERMAL_TOOLS_MAINLOOP_H
4*3b7c5e8aSDaniel Lezcano #define __THERMAL_TOOLS_MAINLOOP_H
5*3b7c5e8aSDaniel Lezcano 
6*3b7c5e8aSDaniel Lezcano typedef int (*mainloop_callback_t)(int fd, void *data);
7*3b7c5e8aSDaniel Lezcano 
8*3b7c5e8aSDaniel Lezcano extern int mainloop(unsigned int timeout);
9*3b7c5e8aSDaniel Lezcano extern int mainloop_add(int fd, mainloop_callback_t cb, void *data);
10*3b7c5e8aSDaniel Lezcano extern int mainloop_del(int fd);
11*3b7c5e8aSDaniel Lezcano extern void mainloop_exit(void);
12*3b7c5e8aSDaniel Lezcano extern int mainloop_init(void);
13*3b7c5e8aSDaniel Lezcano extern void mainloop_fini(void);
14*3b7c5e8aSDaniel Lezcano 
15*3b7c5e8aSDaniel Lezcano #endif
16