]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/home/homework-luks.h
b9c5054a1340158b9994309bf228b31e9ff3e5fb
[thirdparty/systemd.git] / src / home / homework-luks.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3
4 #include "homework-forward.h"
5
6 int home_setup_luks(UserRecord *h, HomeSetupFlags flags, const char *force_image_path, HomeSetup *setup, PasswordCache *cache, UserRecord **ret_luks_home);
7
8 int home_activate_luks(UserRecord *h, HomeSetupFlags flags, HomeSetup *setup, PasswordCache *cache, UserRecord **ret_home);
9 int home_deactivate_luks(UserRecord *h, HomeSetup *setup);
10 int home_trim_luks(UserRecord *h, HomeSetup *setup);
11
12 int home_store_header_identity_luks(UserRecord *h, HomeSetup *setup, UserRecord *old_home);
13
14 int home_create_luks(UserRecord *h, HomeSetup *setup, const PasswordCache *cache, char **effective_passwords, UserRecord **ret_home);
15
16 int home_get_state_luks(UserRecord *h, HomeSetup *setup);
17
18 int home_resize_luks(UserRecord *h, HomeSetupFlags flags, HomeSetup *setup, PasswordCache *cache, UserRecord **ret_home);
19
20 int home_passwd_luks(UserRecord *h, HomeSetupFlags flags, HomeSetup *setup, const PasswordCache *cache, char **effective_passwords);
21
22 int home_lock_luks(UserRecord *h, HomeSetup *setup);
23 int home_unlock_luks(UserRecord *h, HomeSetup *setup, const PasswordCache *cache);
24
25 int home_auto_shrink_luks(UserRecord *h, HomeSetup *setup, PasswordCache *cache);
26
27 uint64_t luks_volume_key_size_convert(struct crypt_device *cd);
28
29 int run_fitrim(int root_fd);
30 int run_fallocate(int backing_fd, const struct stat *st);
31 int run_fallocate_by_path(const char *backing_path);
32 int run_mark_dirty(int fd, bool b);
33 int run_mark_dirty_by_path(const char *path, bool b);
34
35 int wait_for_block_device_gone(HomeSetup *setup, usec_t timeout_usec);