chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
unit: use weaker dependencies between mount and device units in --user mode
[elogind.git]
/
src
/
core
/
unit.h
diff --git
a/src/core/unit.h
b/src/core/unit.h
index 1b13ca826651fcc24c696c57af74a880d48fa125..b3775d4d897849e25a40aa58712f36271c7042c5 100644
(file)
--- a/
src/core/unit.h
+++ b/
src/core/unit.h
@@
-31,13
+31,7
@@
typedef enum UnitActiveState UnitActiveState;
typedef struct UnitRef UnitRef;
typedef struct UnitStatusMessageFormats UnitStatusMessageFormats;
typedef struct UnitRef UnitRef;
typedef struct UnitStatusMessageFormats UnitStatusMessageFormats;
-#include "sd-event.h"
-#include "set.h"
-#include "util.h"
#include "list.h"
#include "list.h"
-#include "socket-util.h"
-#include "execute.h"
-#include "cgroup.h"
#include "condition.h"
#include "install.h"
#include "unit-name.h"
#include "condition.h"
#include "install.h"
#include "unit-name.h"
@@
-76,7
+70,6
@@
static inline bool UNIT_IS_INACTIVE_OR_FAILED(UnitActiveState t) {
return t == UNIT_INACTIVE || t == UNIT_FAILED;
}
return t == UNIT_INACTIVE || t == UNIT_FAILED;
}
-#include "manager.h"
#include "job.h"
struct UnitRef {
#include "job.h"
struct UnitRef {
@@
-179,8
+172,9
@@
struct Unit {
/* Error code when we didn't manage to load the unit (negative) */
int load_error;
/* Error code when we didn't manage to load the unit (negative) */
int load_error;
- /* Cached unit file state */
+ /* Cached unit file state
and preset
*/
UnitFileState unit_file_state;
UnitFileState unit_file_state;
+ int unit_file_preset;
/* Counterparts in the cgroup filesystem */
char *cgroup_path;
/* Counterparts in the cgroup filesystem */
char *cgroup_path;
@@
-248,18
+242,16
@@
typedef enum UnitSetPropertiesMode {
UNIT_PERSISTENT = 2,
} UnitSetPropertiesMode;
UNIT_PERSISTENT = 2,
} UnitSetPropertiesMode;
-#include "service.h"
#include "socket.h"
#include "busname.h"
#include "target.h"
#include "snapshot.h"
#include "device.h"
#include "socket.h"
#include "busname.h"
#include "target.h"
#include "snapshot.h"
#include "device.h"
-#include "mount.h"
#include "automount.h"
#include "swap.h"
#include "timer.h"
#include "automount.h"
#include "swap.h"
#include "timer.h"
-#include "path.h"
#include "slice.h"
#include "slice.h"
+#include "path.h"
#include "scope.h"
struct UnitVTable {
#include "scope.h"
struct UnitVTable {
@@
-283,7
+275,7
@@
struct UnitVTable {
* that */
size_t exec_runtime_offset;
* that */
size_t exec_runtime_offset;
- /* The name of the configuration file section with the private settings of this unit*/
+ /* The name of the configuration file section with the private settings of this unit
*/
const char *private_section;
/* Config file sections this unit type understands, separated
const char *private_section;
/* Config file sections this unit type understands, separated
@@
-344,6
+336,10
@@
struct UnitVTable {
* way */
bool (*check_gc)(Unit *u);
* way */
bool (*check_gc)(Unit *u);
+ /* When the unit is not running and no job for it queued we
+ * shall release its runtime resources */
+ void (*release_resources)(Unit *u);
+
/* Return true when this unit is suitable for snapshotting */
bool (*check_snapshot)(Unit *u);
/* Return true when this unit is suitable for snapshotting */
bool (*check_snapshot)(Unit *u);
@@
-358,7
+354,7
@@
struct UnitVTable {
void (*notify_cgroup_empty)(Unit *u);
/* Called whenever a process of this unit sends us a message */
void (*notify_cgroup_empty)(Unit *u);
/* Called whenever a process of this unit sends us a message */
- void (*notify_message)(Unit *u, pid_t pid, char **tags);
+ void (*notify_message)(Unit *u, pid_t pid, char **tags
, FDSet *fds
);
/* Called whenever a name this Unit registered for comes or
* goes away. */
/* Called whenever a name this Unit registered for comes or
* goes away. */
@@
-395,6
+391,10
@@
struct UnitVTable {
/* Type specific cleanups. */
void (*shutdown)(Manager *m);
/* Type specific cleanups. */
void (*shutdown)(Manager *m);
+ /* If this function is set and return false all jobs for units
+ * of this type will immediately fail. */
+ bool (*supported)(Manager *m);
+
/* The interface name */
const char *bus_interface;
/* The interface name */
const char *bus_interface;
@@
-560,6
+560,7
@@
void unit_start_on_failure(Unit *u);
void unit_trigger_notify(Unit *u);
UnitFileState unit_get_unit_file_state(Unit *u);
void unit_trigger_notify(Unit *u);
UnitFileState unit_get_unit_file_state(Unit *u);
+int unit_get_unit_file_preset(Unit *u);
Unit* unit_ref_set(UnitRef *ref, Unit *u);
void unit_ref_unset(UnitRef *ref);
Unit* unit_ref_set(UnitRef *ref, Unit *u);
void unit_ref_unset(UnitRef *ref);