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=44e6100ff691c8ec2a8313f70f2608b5447c5c9f;hb=ee4cbc2c85edacab721c710e1f99aedd5c2e3a3a;hpb=18c78fb1af5415bb6f87d9c7cae1f9c60e14ae24 diff --git a/src/automount.h b/src/automount.h index 44e6100ff..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,27 +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; Set *tokens; - bool failure:1; + AutomountResult result; }; extern const UnitVTable automount_vtable; @@ -62,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