X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fpath.h;h=116fc63ff726daa6ac53f3fb581f9c3e79f7eab1;hp=e0feeea7117145362cf5e9ddad3e7edb45acd4f3;hb=1eae4c45c9d04314c927c8ac6323133414020ba3;hpb=18c78fb1af5415bb6f87d9c7cae1f9c60e14ae24 diff --git a/src/path.h b/src/path.h index e0feeea71..116fc63ff 100644 --- a/src/path.h +++ b/src/path.h @@ -1,4 +1,4 @@ -/*-*- Mode: C; c-basic-offset: 8 -*-*/ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ #ifndef foopathhfoo #define foopathhfoo @@ -31,13 +31,14 @@ typedef enum PathState { PATH_DEAD, PATH_WAITING, PATH_RUNNING, - PATH_MAINTENANCE, + PATH_FAILED, _PATH_STATE_MAX, _PATH_STATE_INVALID = -1 } PathState; typedef enum PathType { PATH_EXISTS, + PATH_EXISTS_GLOB, PATH_DIRECTORY_NOT_EMPTY, PATH_CHANGED, _PATH_TYPE_MAX, @@ -45,16 +46,18 @@ typedef enum PathType { } PathType; typedef struct PathSpec { - PathType type; char *path; + Watch watch; + + LIST_FIELDS(struct PathSpec, spec); + + PathType type; int inotify_fd; int primary_wd; - bool previous_exists; - Watch watch; + bool previous_exists; - LIST_FIELDS(struct PathSpec, spec); } PathSpec; struct Path { @@ -62,10 +65,15 @@ struct Path { LIST_HEAD(PathSpec, specs); - PathState state, deserialized_state; Unit *unit; + PathState state, deserialized_state; + bool failure; + bool inotify_triggered; + + bool make_directory; + mode_t directory_mode; }; void path_unit_notify(Unit *u, UnitActiveState new_state);