162306a36Sopenharmony_ci/* SPDX-License-Identifier: LGPL-2.1+ */
262306a36Sopenharmony_ci/* Copyright (C) 2022, Linaro Ltd - Daniel Lezcano <daniel.lezcano@linaro.org> */
362306a36Sopenharmony_ci#ifndef __THERMAL_TOOLS_MAINLOOP_H
462306a36Sopenharmony_ci#define __THERMAL_TOOLS_MAINLOOP_H
562306a36Sopenharmony_ci
662306a36Sopenharmony_citypedef int (*mainloop_callback_t)(int fd, void *data);
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciextern int mainloop(unsigned int timeout);
962306a36Sopenharmony_ciextern int mainloop_add(int fd, mainloop_callback_t cb, void *data);
1062306a36Sopenharmony_ciextern int mainloop_del(int fd);
1162306a36Sopenharmony_ciextern void mainloop_exit(void);
1262306a36Sopenharmony_ciextern int mainloop_init(void);
1362306a36Sopenharmony_ciextern void mainloop_fini(void);
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#endif
16