summaryrefslogtreecommitdiff
path: root/src/shared/watchdog.h
blob: a490183fa1290e481b456986939d30e250eba0df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once

#include <stdbool.h>

#include "time-util.h"

const char *watchdog_get_device(void);
usec_t watchdog_get_last_ping(clockid_t clock);

int watchdog_set_device(const char *path);
int watchdog_setup(usec_t timeout);
int watchdog_setup_pretimeout(usec_t usec);
int watchdog_setup_pretimeout_governor(const char *governor);
int watchdog_ping(void);
void watchdog_close(bool disarm);
usec_t watchdog_runtime_wait(void);

static inline void watchdog_free_device(void) {
        (void) watchdog_set_device(NULL);
}