]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/core/automount.h
analyze: fix typo
[thirdparty/systemd.git] / src / core / automount.h
CommitLineData
db9ecf05 1/* SPDX-License-Identifier: LGPL-2.1-or-later */
c2f1db8f 2#pragma once
5cb5a6ff 3
836e4e7e 4#include "core-forward.h"
87f0e418 5#include "unit.h"
5cb5a6ff 6
81a5c6d0
LP
7typedef enum AutomountResult {
8 AUTOMOUNT_SUCCESS,
9 AUTOMOUNT_FAILURE_RESOURCES,
acd156d1 10 AUTOMOUNT_FAILURE_UNMOUNTED,
07299350 11 AUTOMOUNT_FAILURE_START_LIMIT_HIT,
fae03ed3 12 AUTOMOUNT_FAILURE_MOUNT_START_LIMIT_HIT,
81a5c6d0 13 _AUTOMOUNT_RESULT_MAX,
2d93c20e 14 _AUTOMOUNT_RESULT_INVALID = -EINVAL,
81a5c6d0
LP
15} AutomountResult;
16
4ea4abb6 17typedef struct Automount {
ac155bb8 18 Unit meta;
5cb5a6ff 19
a16e1123 20 AutomountState state, deserialized_state;
5cb5a6ff 21
8d567588 22 char *where;
7c5cef22 23 char *extra_options;
deb0a77c 24 usec_t timeout_idle_usec;
8d567588 25
8d567588 26 int pipe_fd;
718db961 27 sd_event_source *pipe_event_source;
7fab9d01 28 mode_t directory_mode;
8d567588
LP
29 dev_t dev_id;
30
31 Set *tokens;
deb0a77c
MO
32 Set *expire_tokens;
33
34 sd_event_source *expire_event_source;
8d567588 35
81a5c6d0 36 AutomountResult result;
4ea4abb6 37} Automount;
5cb5a6ff 38
87f0e418 39extern const UnitVTable automount_vtable;
5cb5a6ff 40
44a6b1b6
ZJS
41const char* automount_result_to_string(AutomountResult i) _const_;
42AutomountResult automount_result_from_string(const char *s) _pure_;
57b7a260
FS
43
44DEFINE_CAST(AUTOMOUNT, Automount);