UNIT_AUTOMOUNT,
UNIT_SNAPSHOT,
UNIT_TIMER,
+ UNIT_SWAP,
_UNIT_TYPE_MAX,
_UNIT_TYPE_INVALID = -1
};
* the job for it */
Job *job;
+ usec_t inactive_exit_timestamp;
usec_t active_enter_timestamp;
usec_t active_exit_timestamp;
+ usec_t inactive_enter_timestamp;
/* Counterparts in the cgroup filesystem */
CGroupBonding *cgroup_bondings;
LIST_FIELDS(Meta, gc_queue);
/* Used during GC sweeps */
- int gc_marker;
+ unsigned gc_marker;
/* If we go down, pull down everything that depends on us, too */
bool recursive_stop;
#include "mount.h"
#include "automount.h"
#include "snapshot.h"
+#include "swap.h"
union Unit {
Meta meta;
Mount mount;
Automount automount;
Snapshot snapshot;
+ Swap swap;
};
struct UnitVTable {
/* Exclude from automatic gc */
bool no_gc:1;
+
+ /* Exclude from isolation requests */
+ bool no_isolate:1;
};
extern const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX];
DEFINE_CAST(MOUNT, Mount);
DEFINE_CAST(AUTOMOUNT, Automount);
DEFINE_CAST(SNAPSHOT, Snapshot);
+DEFINE_CAST(SWAP, Swap);
Unit *unit_new(Manager *m);
void unit_free(Unit *u);
void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value);
int unit_deserialize(Unit *u, FILE *f, FDSet *fds);
+int unit_add_node_link(Unit *u, const char *what, bool wants);
+
const char *unit_type_to_string(UnitType i);
UnitType unit_type_from_string(const char *s);