X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmount.h;h=9318444249c33e5838dd0c01551eae35140ac212;hb=b8b5e648cacc8d73c55fdffbb3466ecd8146131a;hp=6c60167deb96bdeab9ecfd0fe4d422004d2785af;hpb=2e22afe909cd5fa003347aa91ad15f0516e5047f;p=elogind.git diff --git a/src/mount.h b/src/mount.h index 6c60167de..931844424 100644 --- a/src/mount.h +++ b/src/mount.h @@ -1,4 +1,4 @@ -/*-*- Mode: C; c-basic-offset: 8 -*-*/ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ #ifndef foomounthfoo #define foomounthfoo @@ -39,7 +39,7 @@ typedef enum MountState { MOUNT_REMOUNTING_SIGKILL, MOUNT_UNMOUNTING_SIGTERM, MOUNT_UNMOUNTING_SIGKILL, - MOUNT_MAINTENANCE, + MOUNT_FAILED, _MOUNT_STATE_MAX, _MOUNT_STATE_INVALID = -1 } MountState; @@ -56,10 +56,22 @@ typedef struct MountParameters { char *what; char *options; char *fstype; + int passno; } MountParameters; +typedef enum MountResult { + MOUNT_SUCCESS, + MOUNT_FAILURE_RESOURCES, + MOUNT_FAILURE_TIMEOUT, + MOUNT_FAILURE_EXIT_CODE, + MOUNT_FAILURE_SIGNAL, + MOUNT_FAILURE_CORE_DUMP, + _MOUNT_RESULT_MAX, + _MOUNT_RESULT_INVALID = -1 +} MountResult; + struct Mount { - Meta meta; + Unit meta; char *where; @@ -77,12 +89,13 @@ struct Mount { bool just_mounted:1; bool just_changed:1; - bool failure:1; - - usec_t timeout_usec; + MountResult result; + MountResult reload_result; mode_t directory_mode; + usec_t timeout_usec; + ExecCommand exec_command[_MOUNT_EXEC_COMMAND_MAX]; ExecContext exec_context; @@ -99,12 +112,13 @@ extern const UnitVTable mount_vtable; void mount_fd_event(Manager *m, int events); -int mount_path_is_mounted(Manager *m, const char* path); - const char* mount_state_to_string(MountState i); MountState mount_state_from_string(const char *s); const char* mount_exec_command_to_string(MountExecCommand i); MountExecCommand mount_exec_command_from_string(const char *s); +const char* mount_result_to_string(MountResult i); +MountResult mount_result_from_string(const char *s); + #endif