1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 #include <stdbool.h>
5 #include <unistd.h>
6 
7 #define SD_LOGIND_ROOT_CHECK_INHIBITORS           (UINT64_C(1) << 0)
8 #define SD_LOGIND_REBOOT_VIA_KEXEC                (UINT64_C(1) << 1)
9 
10 /* For internal use only */
11 #define SD_LOGIND_INTERACTIVE                     (UINT64_C(1) << 63)
12 
13 #define SD_LOGIND_SHUTDOWN_AND_SLEEP_FLAGS_PUBLIC (SD_LOGIND_ROOT_CHECK_INHIBITORS|SD_LOGIND_REBOOT_VIA_KEXEC)
14 #define SD_LOGIND_SHUTDOWN_AND_SLEEP_FLAGS_ALL    (SD_LOGIND_SHUTDOWN_AND_SLEEP_FLAGS_PUBLIC|SD_LOGIND_INTERACTIVE)
15 
16 bool session_id_valid(const char *id);
17 
logind_running(void)18 static inline bool logind_running(void) {
19         return access("/run/systemd/seats/", F_OK) >= 0;
20 }
21