/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-#ifndef foomanagerhfoo
-#define foomanagerhfoo
+#pragma once
/***
This file is part of systemd.
_MANAGER_EXIT_CODE_INVALID = -1
} ManagerExitCode;
-typedef enum ManagerRunningAs {
- MANAGER_SYSTEM,
- MANAGER_USER,
- _MANAGER_RUNNING_AS_MAX,
- _MANAGER_RUNNING_AS_INVALID = -1
-} ManagerRunningAs;
-
enum WatchType {
WATCH_INVALID,
WATCH_SIGNAL,
WATCH_SWAP,
WATCH_UDEV,
WATCH_DBUS_WATCH,
- WATCH_DBUS_TIMEOUT
+ WATCH_DBUS_TIMEOUT,
+ WATCH_TIME_CHANGE,
+ WATCH_JOBS_IN_PROGRESS
};
struct Watch {
#include "set.h"
#include "dbus.h"
#include "path-lookup.h"
+#include "execute.h"
struct Manager {
/* Note that the set of units we know of is allowed to be
Watch notify_watch;
Watch signal_watch;
+ Watch time_change_watch;
+ Watch jobs_in_progress_watch;
int epoll_fd;
usec_t runtime_watchdog;
usec_t shutdown_watchdog;
+ dual_timestamp firmware_timestamp;
+ dual_timestamp loader_timestamp;
+ dual_timestamp kernel_timestamp;
dual_timestamp initrd_timestamp;
- dual_timestamp startup_timestamp;
+ dual_timestamp userspace_timestamp;
dual_timestamp finish_timestamp;
char *generator_unit_path;
* file system */
int pin_cgroupfs_fd;
- /* Audit fd */
-#ifdef HAVE_AUDIT
- int audit_fd;
-#endif
-
/* Flags */
- ManagerRunningAs running_as;
+ SystemdRunningAs running_as;
ManagerExitCode exit_code:5;
bool dispatching_load_queue:1;
unsigned n_installed_jobs;
unsigned n_failed_jobs;
+ /* Jobs in progress watching */
+ unsigned n_running_jobs;
+ unsigned n_on_console;
+ unsigned jobs_in_progress_iteration;
+
/* Type=idle pipes */
int idle_pipe[2];
char *switch_root_init;
};
-int manager_new(ManagerRunningAs running_as, Manager **m);
+int manager_new(SystemdRunningAs running_as, Manager **m);
void manager_free(Manager *m);
int manager_enumerate(Manager *m);
int manager_serialize(Manager *m, FILE *f, FDSet *fds, bool serialize_jobs);
int manager_deserialize(Manager *m, FILE *f, FDSet *fds);
+int manager_distribute_fds(Manager *m, FDSet *fds);
int manager_reload(Manager *m);
-bool manager_is_booting_or_shutting_down(Manager *m);
+bool manager_is_reloading_or_reexecuting(Manager *m);
void manager_reset_failed(Manager *m);
void manager_recheck_journal(Manager *m);
void manager_set_show_status(Manager *m, bool b);
-bool manager_get_show_status(Manager *m);
-
-const char *manager_running_as_to_string(ManagerRunningAs i);
-ManagerRunningAs manager_running_as_from_string(const char *s);
+void manager_status_printf(Manager *m, bool ephemeral, const char *status, const char *format, ...);
-#endif
+void watch_init(Watch *w);