]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/shared/utmp-wtmp.h
resolved: add transaction result for upstream failures
[thirdparty/systemd.git] / src / shared / utmp-wtmp.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3
4 #include <stdbool.h>
5 #include <sys/types.h>
6
7 #include "time-util.h"
8
9 #if ENABLE_UTMP
10 #include <utmpx.h>
11
12 int utmp_get_runlevel(int *runlevel, int *previous);
13
14 int utmp_put_shutdown(void);
15 int utmp_put_reboot(usec_t timestamp);
16 int utmp_put_runlevel(int runlevel, int previous);
17
18 int utmp_put_dead_process(const char *id, pid_t pid, int code, int status);
19 int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line, int ut_type, const char *user);
20
21 static inline bool utxent_start(void) {
22 setutxent();
23 return true;
24 }
25 static inline void utxent_cleanup(bool *initialized) {
26 if (initialized)
27 endutxent();
28 }
29
30 #else /* ENABLE_UTMP */
31
32 static inline int utmp_get_runlevel(int *runlevel, int *previous) {
33 return -ESRCH;
34 }
35 static inline int utmp_put_shutdown(void) {
36 return 0;
37 }
38 static inline int utmp_put_reboot(usec_t timestamp) {
39 return 0;
40 }
41 static inline int utmp_put_runlevel(int runlevel, int previous) {
42 return 0;
43 }
44 static inline int utmp_put_dead_process(const char *id, pid_t pid, int code, int status) {
45 return 0;
46 }
47 static inline int utmp_put_init_process(const char *id, pid_t pid, pid_t sid, const char *line, int ut_type, const char *user) {
48 return 0;
49 }
50
51 #endif /* ENABLE_UTMP */