X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=automount.h;h=014482cc5a8be261a2b8c6a042d04c21cf447765;hp=e7d778c7bbd0018af6ad7c7d8776adec288af12f;hb=affda78706e2388902dd7c9ebdece52787afe3b4;hpb=a7334b0952ab66c17ee787e36e6d2c5ceb387de6 diff --git a/automount.h b/automount.h index e7d778c7b..014482cc5 100644 --- a/automount.h +++ b/automount.h @@ -28,38 +28,38 @@ typedef struct Automount Automount; typedef enum AutomountState { AUTOMOUNT_DEAD, - AUTOMOUNT_START_PRE, - AUTOMOUNT_START_POST, AUTOMOUNT_WAITING, AUTOMOUNT_RUNNING, - AUTOMOUNT_STOP_PRE, - AUTOMOUNT_STOP_POST, AUTOMOUNT_MAINTAINANCE, - _AUTOMOUNT_STATE_MAX + _AUTOMOUNT_STATE_MAX, + _AUTOMOUNT_STATE_INVALID = -1 } AutomountState; -typedef enum AutomountExecCommand { - AUTOMOUNT_EXEC_START_PRE, - AUTOMOUNT_EXEC_START_POST, - AUTOMOUNT_EXEC_STOP_PRE, - AUTOMOUNT_EXEC_STOP_POST, - _AUTOMOUNT_EXEC_MAX -} AutomountExecCommand; - struct Automount { Meta meta; - AutomountState state; - char *path; - - ExecCommand* exec_command[_AUTOMOUNT_EXEC_MAX]; - ExecContext exec_context; + AutomountState state, deserialized_state; - pid_t contol_pid; + char *where; Mount *mount; + + int pipe_fd; + Watch pipe_watch; + dev_t dev_id; + + Set *tokens; + + bool failure:1; }; extern const UnitVTable automount_vtable; +int automount_send_ready(Automount *a, int status); + +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); + #endif