X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fautomount.h;h=19baee208b2dc62b911b1236b0c82e6e5efc9a17;hp=13b56effb6fa96204ea503fc830885e7337e5774;hb=ee4cbc2c85edacab721c710e1f99aedd5c2e3a3a;hpb=1cf18f27331286dfb56d92e1800facf4f696ad27 diff --git a/src/automount.h b/src/automount.h index 13b56effb..19baee208 100644 --- a/src/automount.h +++ b/src/automount.h @@ -1,4 +1,4 @@ -/*-*- Mode: C; c-basic-offset: 8 -*-*/ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ #ifndef fooautomounthfoo #define fooautomounthfoo @@ -30,29 +30,35 @@ typedef enum AutomountState { AUTOMOUNT_DEAD, AUTOMOUNT_WAITING, AUTOMOUNT_RUNNING, - AUTOMOUNT_MAINTENANCE, + AUTOMOUNT_FAILED, _AUTOMOUNT_STATE_MAX, _AUTOMOUNT_STATE_INVALID = -1 } AutomountState; +typedef enum AutomountResult { + AUTOMOUNT_SUCCESS, + AUTOMOUNT_FAILURE_RESOURCES, + _AUTOMOUNT_RESULT_MAX, + _AUTOMOUNT_RESULT_INVALID = -1 +} AutomountResult; + struct Automount { - Meta meta; + Unit meta; AutomountState state, deserialized_state; char *where; - Mount *mount; + UnitRef mount; int pipe_fd; + mode_t directory_mode; Watch pipe_watch; dev_t dev_id; - mode_t directory_mode; - Set *tokens; - bool failure:1; + AutomountResult result; }; extern const UnitVTable automount_vtable; @@ -64,4 +70,7 @@ int automount_add_one_mount_link(Automount *a, Mount *m); const char* automount_state_to_string(AutomountState i); AutomountState automount_state_from_string(const char *s); +const char* automount_result_to_string(AutomountResult i); +AutomountResult automount_result_from_string(const char *s); + #endif