]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/home/homework-luks.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
4 #include "crypt-util.h"
6 #include "user-record.h"
8 int home_prepare_luks(UserRecord
*h
, bool already_activated
, const char *force_image_path
, PasswordCache
*cache
, HomeSetup
*setup
, UserRecord
**ret_luks_home
);
10 int home_activate_luks(UserRecord
*h
, PasswordCache
*cache
, UserRecord
**ret_home
);
11 int home_deactivate_luks(UserRecord
*h
);
12 int home_trim_luks(UserRecord
*h
);
14 int home_store_header_identity_luks(UserRecord
*h
, HomeSetup
*setup
, UserRecord
*old_home
);
16 int home_create_luks(UserRecord
*h
, PasswordCache
*cache
, char **effective_passwords
, UserRecord
**ret_home
);
18 int home_validate_update_luks(UserRecord
*h
, HomeSetup
*setup
);
20 int home_resize_luks(UserRecord
*h
, bool already_activated
, PasswordCache
*cache
, HomeSetup
*setup
, UserRecord
**ret_home
);
22 int home_passwd_luks(UserRecord
*h
, HomeSetup
*setup
, PasswordCache
*cache
, char **effective_passwords
);
24 int home_lock_luks(UserRecord
*h
);
25 int home_unlock_luks(UserRecord
*h
, PasswordCache
*cache
);
27 static inline uint64_t luks_volume_key_size_convert(struct crypt_device
*cd
) {
32 /* Convert the "int" to uint64_t, which we usually use for byte sizes stored on disk. */
34 k
= crypt_get_volume_key_size(cd
);
41 int run_fitrim(int root_fd
);
42 int run_fitrim_by_path(const char *root_path
);
43 int run_fallocate(int backing_fd
, const struct stat
*st
);
44 int run_fallocate_by_path(const char *backing_path
);