#pragma once
typedef struct Automount Automount;
#include "unit.h"
typedef enum AutomountState {
AUTOMOUNT_DEAD,
AUTOMOUNT_WAITING,
AUTOMOUNT_RUNNING,
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 {
Unit meta;
AutomountState state, deserialized_state;
char *where;
int pipe_fd;
sd_event_source *pipe_event_source;
mode_t directory_mode;
dev_t dev_id;
Set *tokens;
AutomountResult result;
};
extern const UnitVTable automount_vtable;
int automount_send_ready(Automount *a, int status);
const char* automount_state_to_string(AutomountState i) _const_;
AutomountState automount_state_from_string(const char *s) _pure_;
const char* automount_result_to_string(AutomountResult i) _const_;
AutomountResult automount_result_from_string(const char *s) _pure_;