32 #ifndef _LIBCRYPTSETUP_H
33 #define _LIBCRYPTSETUP_H
65 int crypt_init(
struct crypt_device **cd,
const char *device);
82 const char *data_device);
105 const char *header_device);
140 int (*confirm)(
const char *msg,
void *usrptr),
185 #define CRYPT_LOG_NORMAL 0
187 #define CRYPT_LOG_ERROR 1
189 #define CRYPT_LOG_VERBOSE 2
191 #define CRYPT_LOG_DEBUG -1
193 #define CRYPT_LOG_DEBUG_JSON -2
205 void (*log)(
int level,
const char *msg,
void *usrptr),
217 void crypt_log(
struct crypt_device *cd,
int level,
const char *msg);
226 void crypt_logf(
struct crypt_device *cd,
int level,
const char *format, ...);
236 #define CRYPT_RNG_URANDOM 0
238 #define CRYPT_RNG_RANDOM 1
272 #define CRYPT_PBKDF_ITER_TIME_SET (1 << 0)
274 #define CRYPT_PBKDF_NO_BENCHMARK (1 << 1)
277 #define CRYPT_KDF_PBKDF2 "pbkdf2"
279 #define CRYPT_KDF_ARGON2I "argon2i"
281 #define CRYPT_KDF_ARGON2ID "argon2id"
385 uint64_t metadata_size,
386 uint64_t keyslots_size);
399 uint64_t *metadata_size,
400 uint64_t *keyslots_size);
413 #define CRYPT_PLAIN "PLAIN"
415 #define CRYPT_LUKS1 "LUKS1"
417 #define CRYPT_LUKS2 "LUKS2"
419 #define CRYPT_LOOPAES "LOOPAES"
421 #define CRYPT_VERITY "VERITY"
423 #define CRYPT_TCRYPT "TCRYPT"
425 #define CRYPT_INTEGRITY "INTEGRITY"
427 #define CRYPT_BITLK "BITLK"
430 #define CRYPT_LUKS NULL
514 #define CRYPT_VERITY_NO_HEADER (1 << 0)
516 #define CRYPT_VERITY_CHECK_HASH (1 << 1)
518 #define CRYPT_VERITY_CREATE_HASH (1 << 2)
520 #define CRYPT_VERITY_ROOT_HASH_SIGNATURE (1 << 3)
543 #define CRYPT_TCRYPT_LEGACY_MODES (1 << 0)
545 #define CRYPT_TCRYPT_HIDDEN_HEADER (1 << 1)
547 #define CRYPT_TCRYPT_BACKUP_HEADER (1 << 2)
549 #define CRYPT_TCRYPT_SYSTEM_HEADER (1 << 3)
554 #define CRYPT_TCRYPT_VERA_MODES (1 << 4)
639 const char *cipher_mode,
641 const char *volume_key,
642 size_t volume_key_size,
663 #define CRYPT_COMPAT_LEGACY_INTEGRITY_PADDING (1 << 0)
665 #define CRYPT_COMPAT_LEGACY_INTEGRITY_HMAC (1 << 1)
667 #define CRYPT_COMPAT_LEGACY_INTEGRITY_RECALC (1 << 2)
717 const char *subsystem);
754 const char *requested_type,
773 const char *requested_type,
828 const char *passphrase,
829 size_t passphrase_size);
848 uint64_t keyfile_offset);
858 size_t keyfile_offset);
867 size_t keyfile_size);
880 const char *volume_key,
881 size_t volume_key_size);
891 #define CRYPT_ANY_SLOT -1
909 const char *passphrase,
910 size_t passphrase_size,
911 const char *new_passphrase,
912 size_t new_passphrase_size);
932 const char *passphrase,
933 size_t passphrase_size,
934 const char *new_passphrase,
935 size_t new_passphrase_size);
957 uint64_t keyfile_offset,
958 const char *new_keyfile,
959 size_t new_keyfile_size,
960 uint64_t new_keyfile_offset);
969 size_t keyfile_offset,
970 const char *new_keyfile,
971 size_t new_keyfile_size,
972 size_t new_keyfile_offset);
981 const char *new_keyfile,
982 size_t new_keyfile_size);
1000 const char *volume_key,
1001 size_t volume_key_size,
1002 const char *passphrase,
1003 size_t passphrase_size);
1006 #define CRYPT_VOLUME_KEY_NO_SEGMENT (1 << 0)
1009 #define CRYPT_VOLUME_KEY_SET (1 << 1)
1012 #define CRYPT_VOLUME_KEY_DIGEST_REUSE (1 << 2)
1045 const char *volume_key,
1046 size_t volume_key_size,
1047 const char *passphrase,
1048 size_t passphrase_size,
1074 #define CRYPT_ACTIVATE_READONLY (1 << 0)
1076 #define CRYPT_ACTIVATE_NO_UUID (1 << 1)
1078 #define CRYPT_ACTIVATE_SHARED (1 << 2)
1080 #define CRYPT_ACTIVATE_ALLOW_DISCARDS (1 << 3)
1082 #define CRYPT_ACTIVATE_PRIVATE (1 << 4)
1084 #define CRYPT_ACTIVATE_CORRUPTED (1 << 5)
1086 #define CRYPT_ACTIVATE_SAME_CPU_CRYPT (1 << 6)
1088 #define CRYPT_ACTIVATE_SUBMIT_FROM_CRYPT_CPUS (1 << 7)
1090 #define CRYPT_ACTIVATE_IGNORE_CORRUPTION (1 << 8)
1092 #define CRYPT_ACTIVATE_RESTART_ON_CORRUPTION (1 << 9)
1094 #define CRYPT_ACTIVATE_IGNORE_ZERO_BLOCKS (1 << 10)
1096 #define CRYPT_ACTIVATE_KEYRING_KEY (1 << 11)
1098 #define CRYPT_ACTIVATE_NO_JOURNAL (1 << 12)
1100 #define CRYPT_ACTIVATE_RECOVERY (1 << 13)
1102 #define CRYPT_ACTIVATE_IGNORE_PERSISTENT (1 << 14)
1104 #define CRYPT_ACTIVATE_CHECK_AT_MOST_ONCE (1 << 15)
1106 #define CRYPT_ACTIVATE_ALLOW_UNBOUND_KEY (1 << 16)
1108 #define CRYPT_ACTIVATE_RECALCULATE (1 << 17)
1110 #define CRYPT_ACTIVATE_REFRESH (1 << 18)
1112 #define CRYPT_ACTIVATE_SERIALIZE_MEMORY_HARD_PBKDF (1 << 19)
1114 #define CRYPT_ACTIVATE_NO_JOURNAL_BITMAP (1 << 20)
1116 #define CRYPT_ACTIVATE_SUSPENDED (1 << 21)
1118 #define CRYPT_ACTIVATE_IV_LARGE_SECTORS (1 << 22)
1120 #define CRYPT_ACTIVATE_PANIC_ON_CORRUPTION (1 << 23)
1122 #define CRYPT_ACTIVATE_NO_READ_WORKQUEUE (1 << 24)
1124 #define CRYPT_ACTIVATE_NO_WRITE_WORKQUEUE (1 << 25)
1126 #define CRYPT_ACTIVATE_RECALCULATE_RESET (1 << 26)
1175 #define CRYPT_REQUIREMENT_OFFLINE_REENCRYPT (1 << 0)
1177 #define CRYPT_REQUIREMENT_ONLINE_REENCRYPT (1 << 1)
1179 #define CRYPT_REQUIREMENT_UNKNOWN (1 << 31)
1246 const char *passphrase,
1247 size_t passphrase_size,
1266 const char *keyfile,
1267 size_t keyfile_size,
1268 uint64_t keyfile_offset,
1277 const char *keyfile,
1278 size_t keyfile_size,
1279 size_t keyfile_offset,
1288 const char *keyfile,
1289 size_t keyfile_size,
1314 const char *volume_key,
1315 size_t volume_key_size,
1337 const char *volume_key,
1338 size_t volume_key_size,
1339 const char *signature,
1340 size_t signature_size,
1361 const char *key_description,
1366 #define CRYPT_DEACTIVATE_DEFERRED (1 << 0)
1368 #define CRYPT_DEACTIVATE_FORCE (1 << 1)
1370 #define CRYPT_DEACTIVATE_DEFERRED_CANCEL (1 << 2)
1420 size_t *volume_key_size,
1421 const char *passphrase,
1422 size_t passphrase_size);
1434 const char *volume_key,
1435 size_t volume_key_size);
1643 const char *cipher_mode,
1644 size_t volume_key_size,
1647 double *encryption_mbs,
1648 double *decryption_mbs);
1667 const char *password,
1668 size_t password_size,
1671 size_t volume_key_size,
1672 int (*progress)(uint32_t time_ms,
void *usrptr),
1843 const char *requested_type,
1844 const char *backup_file);
1857 const char *requested_type,
1858 const char *backup_file);
1869 #define CRYPT_DEBUG_ALL -1
1871 #define CRYPT_DEBUG_JSON -2
1873 #define CRYPT_DEBUG_NONE 0
1907 const char *keyfile,
1908 char **key,
size_t *key_size_read,
1909 uint64_t keyfile_offset,
1917 const char *keyfile,
1918 char **key,
size_t *key_size_read,
1919 size_t keyfile_offset,
1924 #define CRYPT_KEYFILE_STOP_EOL (1 << 0)
1963 const char *dev_path,
1967 size_t wipe_block_size,
1969 int (*progress)(uint64_t size, uint64_t offset,
void *usrptr),
1974 #define CRYPT_WIPE_NO_DIRECT_IO (1 << 0)
2003 #define CRYPT_ANY_TOKEN -1
2170 struct crypt_device *cd,
2200 struct crypt_device *cd,
2253 typedef const char * (*crypt_token_version_func) (void);
2289 #define CRYPT_TOKEN_ABI_VERSION1 "CRYPTSETUP_TOKEN_1.0"
2292 #define CRYPT_TOKEN_ABI_OPEN "cryptsetup_token_open"
2293 #define CRYPT_TOKEN_ABI_OPEN_PIN "cryptsetup_token_open_pin"
2294 #define CRYPT_TOKEN_ABI_BUFFER_FREE "cryptsetup_token_buffer_free"
2295 #define CRYPT_TOKEN_ABI_VALIDATE "cryptsetup_token_validate"
2296 #define CRYPT_TOKEN_ABI_DUMP "cryptsetup_token_dump"
2297 #define CRYPT_TOKEN_ABI_VERSION "cryptsetup_token_version"
2386 #define CRYPT_REENCRYPT_INITIALIZE_ONLY (1 << 0)
2388 #define CRYPT_REENCRYPT_MOVE_FIRST_SEGMENT (1 << 1)
2390 #define CRYPT_REENCRYPT_RESUME_ONLY (1 << 2)
2392 #define CRYPT_REENCRYPT_RECOVERY (1 << 3)
2448 const char *passphrase,
2449 size_t passphrase_size,
2453 const char *cipher_mode,
2477 const char *key_description,
2481 const char *cipher_mode,
2496 int (*progress)(uint64_t size, uint64_t offset,
void *usrptr))
2497 __attribute__((deprecated));
2510 int (*progress)(uint64_t size, uint64_t offset,
void *usrptr),
int crypt_suspend(struct crypt_device *cd, const char *name)
int crypt_resize(struct crypt_device *cd, const char *name, uint64_t new_size)
void crypt_set_compatibility(struct crypt_device *cd, uint32_t flags)
int crypt_set_uuid(struct crypt_device *cd, const char *uuid)
int crypt_resume_by_keyfile_device_offset(struct crypt_device *cd, const char *name, int keyslot, const char *keyfile, size_t keyfile_size, uint64_t keyfile_offset)
int crypt_resume_by_volume_key(struct crypt_device *cd, const char *name, const char *volume_key, size_t volume_key_size)
int crypt_volume_key_keyring(struct crypt_device *cd, int enable)
int crypt_format(struct crypt_device *cd, const char *type, const char *cipher, const char *cipher_mode, const char *uuid, const char *volume_key, size_t volume_key_size, void *params)
int crypt_load(struct crypt_device *cd, const char *requested_type, void *params)
int crypt_resume_by_keyfile_offset(struct crypt_device *cd, const char *name, int keyslot, const char *keyfile, size_t keyfile_size, size_t keyfile_offset)
int crypt_repair(struct crypt_device *cd, const char *requested_type, void *params)
uint32_t crypt_get_compatibility(struct crypt_device *cd)
int crypt_convert(struct crypt_device *cd, const char *type, void *params)
int crypt_resume_by_passphrase(struct crypt_device *cd, const char *name, int keyslot, const char *passphrase, size_t passphrase_size)
int crypt_set_label(struct crypt_device *cd, const char *label, const char *subsystem)
int crypt_resume_by_keyfile(struct crypt_device *cd, const char *name, int keyslot, const char *keyfile, size_t keyfile_size)
int crypt_deactivate_by_name(struct crypt_device *cd, const char *name, uint32_t flags)
int crypt_activate_by_passphrase(struct crypt_device *cd, const char *name, int keyslot, const char *passphrase, size_t passphrase_size, uint32_t flags)
int crypt_activate_by_signed_key(struct crypt_device *cd, const char *name, const char *volume_key, size_t volume_key_size, const char *signature, size_t signature_size, uint32_t flags)
int crypt_deactivate(struct crypt_device *cd, const char *name)
int crypt_activate_by_keyfile_device_offset(struct crypt_device *cd, const char *name, int keyslot, const char *keyfile, size_t keyfile_size, uint64_t keyfile_offset, uint32_t flags)
int crypt_activate_by_volume_key(struct crypt_device *cd, const char *name, const char *volume_key, size_t volume_key_size, uint32_t flags)
int crypt_activate_by_keyfile_offset(struct crypt_device *cd, const char *name, int keyslot, const char *keyfile, size_t keyfile_size, size_t keyfile_offset, uint32_t flags)
int crypt_activate_by_keyfile(struct crypt_device *cd, const char *name, int keyslot, const char *keyfile, size_t keyfile_size, uint32_t flags)
int crypt_activate_by_keyring(struct crypt_device *cd, const char *name, const char *key_description, int keyslot, uint32_t flags)
uint64_t crypt_get_active_integrity_failures(struct crypt_device *cd, const char *name)
int crypt_get_active_device(struct crypt_device *cd, const char *name, struct crypt_active_device *cad)
int crypt_header_backup(struct crypt_device *cd, const char *requested_type, const char *backup_file)
int crypt_header_restore(struct crypt_device *cd, const char *requested_type, const char *backup_file)
int crypt_benchmark(struct crypt_device *cd, const char *cipher, const char *cipher_mode, size_t volume_key_size, size_t iv_size, size_t buffer_size, double *encryption_mbs, double *decryption_mbs)
int crypt_benchmark_pbkdf(struct crypt_device *cd, struct crypt_pbkdf_type *pbkdf, const char *password, size_t password_size, const char *salt, size_t salt_size, size_t volume_key_size, int(*progress)(uint32_t time_ms, void *usrptr), void *usrptr)
void crypt_set_debug_level(int level)
int crypt_dump(struct crypt_device *cd)
const char * crypt_get_uuid(struct crypt_device *cd)
int crypt_get_verity_info(struct crypt_device *cd, struct crypt_params_verity *vp)
int crypt_header_is_detached(struct crypt_device *cd)
uint64_t crypt_get_data_offset(struct crypt_device *cd)
int crypt_get_volume_key_size(struct crypt_device *cd)
int crypt_dump_json(struct crypt_device *cd, const char **json, uint32_t flags)
int crypt_get_sector_size(struct crypt_device *cd)
const char * crypt_get_metadata_device_name(struct crypt_device *cd)
crypt_status_info
Definition: libcryptsetup.h:1447
uint64_t crypt_get_iv_offset(struct crypt_device *cd)
crypt_status_info crypt_status(struct crypt_device *cd, const char *name)
int crypt_get_integrity_info(struct crypt_device *cd, struct crypt_params_integrity *ip)
const char * crypt_get_cipher(struct crypt_device *cd)
const char * crypt_get_cipher_mode(struct crypt_device *cd)
const char * crypt_get_device_name(struct crypt_device *cd)
@ CRYPT_INVALID
Definition: libcryptsetup.h:1448
@ CRYPT_ACTIVE
Definition: libcryptsetup.h:1450
@ CRYPT_INACTIVE
Definition: libcryptsetup.h:1449
@ CRYPT_BUSY
Definition: libcryptsetup.h:1451
int crypt_init_by_name(struct crypt_device **cd, const char *name)
void crypt_free(struct crypt_device *cd)
int crypt_init_data_device(struct crypt_device **cd, const char *device, const char *data_device)
int crypt_set_data_offset(struct crypt_device *cd, uint64_t data_offset)
int crypt_init_by_name_and_header(struct crypt_device **cd, const char *name, const char *header_device)
int crypt_init(struct crypt_device **cd, const char *device)
void crypt_set_confirm_callback(struct crypt_device *cd, int(*confirm)(const char *msg, void *usrptr), void *usrptr)
int crypt_set_data_device(struct crypt_device *cd, const char *device)
int crypt_volume_key_verify(struct crypt_device *cd, const char *volume_key, size_t volume_key_size)
int crypt_volume_key_get(struct crypt_device *cd, int keyslot, char *volume_key, size_t *volume_key_size, const char *passphrase, size_t passphrase_size)
int crypt_keyfile_device_read(struct crypt_device *cd, const char *keyfile, char **key, size_t *key_size_read, uint64_t keyfile_offset, size_t key_size, uint32_t flags)
int crypt_keyfile_read(struct crypt_device *cd, const char *keyfile, char **key, size_t *key_size_read, size_t keyfile_offset, size_t key_size, uint32_t flags)
crypt_keyslot_info
Definition: libcryptsetup.h:1684
int crypt_keyslot_area(struct crypt_device *cd, int keyslot, uint64_t *offset, uint64_t *length)
int crypt_keyslot_set_encryption(struct crypt_device *cd, const char *cipher, size_t key_size)
int crypt_keyslot_add_by_keyfile(struct crypt_device *cd, int keyslot, const char *keyfile, size_t keyfile_size, const char *new_keyfile, size_t new_keyfile_size)
crypt_keyslot_priority
Definition: libcryptsetup.h:1708
const char * crypt_keyslot_get_encryption(struct crypt_device *cd, int keyslot, size_t *key_size)
int crypt_keyslot_add_by_passphrase(struct crypt_device *cd, int keyslot, const char *passphrase, size_t passphrase_size, const char *new_passphrase, size_t new_passphrase_size)
int crypt_keyslot_change_by_passphrase(struct crypt_device *cd, int keyslot_old, int keyslot_new, const char *passphrase, size_t passphrase_size, const char *new_passphrase, size_t new_passphrase_size)
int crypt_keyslot_add_by_keyfile_device_offset(struct crypt_device *cd, int keyslot, const char *keyfile, size_t keyfile_size, uint64_t keyfile_offset, const char *new_keyfile, size_t new_keyfile_size, uint64_t new_keyfile_offset)
int crypt_keyslot_add_by_key(struct crypt_device *cd, int keyslot, const char *volume_key, size_t volume_key_size, const char *passphrase, size_t passphrase_size, uint32_t flags)
const char * crypt_get_dir(void)
int crypt_keyslot_set_priority(struct crypt_device *cd, int keyslot, crypt_keyslot_priority priority)
int crypt_keyslot_add_by_keyfile_offset(struct crypt_device *cd, int keyslot, const char *keyfile, size_t keyfile_size, size_t keyfile_offset, const char *new_keyfile, size_t new_keyfile_size, size_t new_keyfile_offset)
int crypt_keyslot_add_by_volume_key(struct crypt_device *cd, int keyslot, const char *volume_key, size_t volume_key_size, const char *passphrase, size_t passphrase_size)
int crypt_keyslot_destroy(struct crypt_device *cd, int keyslot)
int crypt_keyslot_get_pbkdf(struct crypt_device *cd, int keyslot, struct crypt_pbkdf_type *pbkdf)
crypt_keyslot_priority crypt_keyslot_get_priority(struct crypt_device *cd, int keyslot)
crypt_keyslot_info crypt_keyslot_status(struct crypt_device *cd, int keyslot)
int crypt_keyslot_max(const char *type)
int crypt_keyslot_get_key_size(struct crypt_device *cd, int keyslot)
@ CRYPT_SLOT_UNBOUND
Definition: libcryptsetup.h:1690
@ CRYPT_SLOT_ACTIVE_LAST
Definition: libcryptsetup.h:1688
@ CRYPT_SLOT_INACTIVE
Definition: libcryptsetup.h:1686
@ CRYPT_SLOT_ACTIVE
Definition: libcryptsetup.h:1687
@ CRYPT_SLOT_INVALID
Definition: libcryptsetup.h:1685
@ CRYPT_SLOT_PRIORITY_IGNORE
Definition: libcryptsetup.h:1710
@ CRYPT_SLOT_PRIORITY_INVALID
Definition: libcryptsetup.h:1709
@ CRYPT_SLOT_PRIORITY_NORMAL
Definition: libcryptsetup.h:1711
@ CRYPT_SLOT_PRIORITY_PREFER
Definition: libcryptsetup.h:1712
void crypt_logf(struct crypt_device *cd, int level, const char *format,...)
void crypt_set_log_callback(struct crypt_device *cd, void(*log)(int level, const char *msg, void *usrptr), void *usrptr)
void crypt_log(struct crypt_device *cd, int level, const char *msg)
void crypt_safe_free(void *data)
void * crypt_safe_alloc(size_t size)
void crypt_safe_memzero(void *data, size_t size)
void * crypt_safe_realloc(void *data, size_t size)
int crypt_persistent_flags_get(struct crypt_device *cd, crypt_flags_type type, uint32_t *flags)
crypt_flags_type
Definition: libcryptsetup.h:1184
int crypt_persistent_flags_set(struct crypt_device *cd, crypt_flags_type type, uint32_t flags)
@ CRYPT_FLAGS_REQUIREMENTS
Definition: libcryptsetup.h:1186
@ CRYPT_FLAGS_ACTIVATION
Definition: libcryptsetup.h:1185
int crypt_reencrypt_init_by_keyring(struct crypt_device *cd, const char *name, const char *key_description, int keyslot_old, int keyslot_new, const char *cipher, const char *cipher_mode, const struct crypt_params_reencrypt *params)
crypt_reencrypt_mode_info
Definition: libcryptsetup.h:2405
int crypt_reencrypt_run(struct crypt_device *cd, int(*progress)(uint64_t size, uint64_t offset, void *usrptr), void *usrptr)
crypt_reencrypt_info
Definition: libcryptsetup.h:2516
int crypt_reencrypt_init_by_passphrase(struct crypt_device *cd, const char *name, const char *passphrase, size_t passphrase_size, int keyslot_old, int keyslot_new, const char *cipher, const char *cipher_mode, const struct crypt_params_reencrypt *params)
crypt_reencrypt_info crypt_reencrypt_status(struct crypt_device *cd, struct crypt_params_reencrypt *params)
int crypt_reencrypt(struct crypt_device *cd, int(*progress)(uint64_t size, uint64_t offset, void *usrptr)) __attribute__((deprecated))
crypt_reencrypt_direction_info
Definition: libcryptsetup.h:2397
@ CRYPT_REENCRYPT_ENCRYPT
Definition: libcryptsetup.h:2407
@ CRYPT_REENCRYPT_DECRYPT
Definition: libcryptsetup.h:2408
@ CRYPT_REENCRYPT_REENCRYPT
Definition: libcryptsetup.h:2406
@ CRYPT_REENCRYPT_INVALID
Definition: libcryptsetup.h:2520
@ CRYPT_REENCRYPT_NONE
Definition: libcryptsetup.h:2517
@ CRYPT_REENCRYPT_CLEAN
Definition: libcryptsetup.h:2518
@ CRYPT_REENCRYPT_CRASH
Definition: libcryptsetup.h:2519
@ CRYPT_REENCRYPT_BACKWARD
Definition: libcryptsetup.h:2399
@ CRYPT_REENCRYPT_FORWARD
Definition: libcryptsetup.h:2398
const struct crypt_pbkdf_type * crypt_get_pbkdf_default(const char *type)
const struct crypt_pbkdf_type * crypt_get_pbkdf_type(struct crypt_device *cd)
int crypt_get_metadata_size(struct crypt_device *cd, uint64_t *metadata_size, uint64_t *keyslots_size)
const struct crypt_pbkdf_type * crypt_get_pbkdf_type_params(const char *pbkdf_type)
void crypt_set_rng_type(struct crypt_device *cd, int rng_type)
void crypt_set_iteration_time(struct crypt_device *cd, uint64_t iteration_time_ms)
int crypt_metadata_locking(struct crypt_device *cd, int enable)
int crypt_set_metadata_size(struct crypt_device *cd, uint64_t metadata_size, uint64_t keyslots_size)
int crypt_get_rng_type(struct crypt_device *cd)
int crypt_memory_lock(struct crypt_device *cd, int lock)
int crypt_set_pbkdf_type(struct crypt_device *cd, const struct crypt_pbkdf_type *pbkdf)
int(* crypt_token_open_func)(struct crypt_device *cd, int token, char **buffer, size_t *buffer_len, void *usrptr)
Definition: libcryptsetup.h:2169
int crypt_token_assign_keyslot(struct crypt_device *cd, int token, int keyslot)
const char * crypt_token_external_path(void)
void(* crypt_token_dump_func)(struct crypt_device *cd, const char *json)
Definition: libcryptsetup.h:2243
int crypt_token_luks2_keyring_set(struct crypt_device *cd, int token, const struct crypt_token_params_luks2_keyring *params)
void crypt_token_external_disable(void)
int crypt_token_json_set(struct crypt_device *cd, int token, const char *json)
int crypt_token_luks2_keyring_get(struct crypt_device *cd, int token, struct crypt_token_params_luks2_keyring *params)
crypt_token_info
Definition: libcryptsetup.h:2038
int crypt_token_unassign_keyslot(struct crypt_device *cd, int token, int keyslot)
int crypt_token_register(const crypt_token_handler *handler)
int crypt_token_max(const char *type)
int(* crypt_token_open_pin_func)(struct crypt_device *cd, int token, const char *pin, size_t pin_size, char **buffer, size_t *buffer_len, void *usrptr)
Definition: libcryptsetup.h:2199
crypt_token_info crypt_token_status(struct crypt_device *cd, int token, const char **type)
int crypt_token_is_assigned(struct crypt_device *cd, int token, int keyslot)
int(* crypt_token_validate_func)(struct crypt_device *cd, const char *json)
Definition: libcryptsetup.h:2230
int crypt_token_json_get(struct crypt_device *cd, int token, const char **json)
int crypt_activate_by_token_pin(struct crypt_device *cd, const char *name, const char *type, int token, const char *pin, size_t pin_size, void *usrptr, uint32_t flags)
void(* crypt_token_buffer_free_func)(void *buffer, size_t buffer_len)
Definition: libcryptsetup.h:2217
int crypt_activate_by_token(struct crypt_device *cd, const char *name, int token, void *usrptr, uint32_t flags)
@ CRYPT_TOKEN_INTERNAL_UNKNOWN
Definition: libcryptsetup.h:2042
@ CRYPT_TOKEN_EXTERNAL_UNKNOWN
Definition: libcryptsetup.h:2044
@ CRYPT_TOKEN_EXTERNAL
Definition: libcryptsetup.h:2043
@ CRYPT_TOKEN_INACTIVE
Definition: libcryptsetup.h:2040
@ CRYPT_TOKEN_INTERNAL
Definition: libcryptsetup.h:2041
@ CRYPT_TOKEN_INVALID
Definition: libcryptsetup.h:2039
const char * crypt_get_default_type(void)
const char * crypt_get_type(struct crypt_device *cd)
int crypt_wipe(struct crypt_device *cd, const char *dev_path, crypt_wipe_pattern pattern, uint64_t offset, uint64_t length, size_t wipe_block_size, uint32_t flags, int(*progress)(uint64_t size, uint64_t offset, void *usrptr), void *usrptr)
crypt_wipe_pattern
Definition: libcryptsetup.h:1935
@ CRYPT_WIPE_ZERO
Definition: libcryptsetup.h:1936
@ CRYPT_WIPE_RANDOM
Definition: libcryptsetup.h:1937
@ CRYPT_WIPE_SPECIAL
Definition: libcryptsetup.h:1939
@ CRYPT_WIPE_ENCRYPTED_ZERO
Definition: libcryptsetup.h:1938
Definition: libcryptsetup.h:1131
uint64_t offset
Definition: libcryptsetup.h:1132
uint64_t iv_offset
Definition: libcryptsetup.h:1133
uint64_t size
Definition: libcryptsetup.h:1134
uint32_t flags
Definition: libcryptsetup.h:1135
Definition: libcryptsetup.h:567
uint32_t sector_size
Definition: libcryptsetup.h:573
uint32_t journal_integrity_key_size
Definition: libcryptsetup.h:580
unsigned int journal_commit_time
Definition: libcryptsetup.h:570
uint32_t journal_crypt_key_size
Definition: libcryptsetup.h:584
uint32_t integrity_key_size
Definition: libcryptsetup.h:576
uint32_t interleave_sectors
Definition: libcryptsetup.h:571
const char * journal_integrity
Definition: libcryptsetup.h:578
uint64_t journal_size
Definition: libcryptsetup.h:568
const char * integrity
Definition: libcryptsetup.h:575
const char * journal_crypt_key
Definition: libcryptsetup.h:583
const char * journal_crypt
Definition: libcryptsetup.h:582
uint32_t buffer_sectors
Definition: libcryptsetup.h:574
unsigned int journal_watermark
Definition: libcryptsetup.h:569
const char * journal_integrity_key
Definition: libcryptsetup.h:579
uint32_t tag_size
Definition: libcryptsetup.h:572
Definition: libcryptsetup.h:483
uint64_t skip
Definition: libcryptsetup.h:486
const char * hash
Definition: libcryptsetup.h:484
uint64_t offset
Definition: libcryptsetup.h:485
Definition: libcryptsetup.h:470
const char * hash
Definition: libcryptsetup.h:471
const char * data_device
Definition: libcryptsetup.h:473
size_t data_alignment
Definition: libcryptsetup.h:472
Definition: libcryptsetup.h:596
const struct crypt_params_integrity * integrity_params
Definition: libcryptsetup.h:599
const char * label
Definition: libcryptsetup.h:603
size_t data_alignment
Definition: libcryptsetup.h:600
const struct crypt_pbkdf_type * pbkdf
Definition: libcryptsetup.h:597
const char * subsystem
Definition: libcryptsetup.h:604
uint32_t sector_size
Definition: libcryptsetup.h:602
const char * data_device
Definition: libcryptsetup.h:601
const char * integrity
Definition: libcryptsetup.h:598
Definition: libcryptsetup.h:453
uint32_t sector_size
Definition: libcryptsetup.h:458
uint64_t offset
Definition: libcryptsetup.h:455
const char * hash
Definition: libcryptsetup.h:454
uint64_t size
Definition: libcryptsetup.h:457
uint64_t skip
Definition: libcryptsetup.h:456
Definition: libcryptsetup.h:2414
const char * hash
Definition: libcryptsetup.h:2418
crypt_reencrypt_direction_info direction
Definition: libcryptsetup.h:2416
const char * resilience
Definition: libcryptsetup.h:2417
uint64_t data_shift
Definition: libcryptsetup.h:2419
uint64_t max_hotzone_size
Definition: libcryptsetup.h:2420
crypt_reencrypt_mode_info mode
Definition: libcryptsetup.h:2415
uint64_t device_size
Definition: libcryptsetup.h:2421
const struct crypt_params_luks2 * luks2
Definition: libcryptsetup.h:2422
uint32_t flags
Definition: libcryptsetup.h:2423
Definition: libcryptsetup.h:529
const char ** keyfiles
Definition: libcryptsetup.h:532
const char * passphrase
Definition: libcryptsetup.h:530
size_t key_size
Definition: libcryptsetup.h:537
const char * mode
Definition: libcryptsetup.h:536
unsigned int keyfiles_count
Definition: libcryptsetup.h:533
uint32_t flags
Definition: libcryptsetup.h:538
const char * hash_name
Definition: libcryptsetup.h:534
size_t passphrase_size
Definition: libcryptsetup.h:531
const char * cipher
Definition: libcryptsetup.h:535
uint32_t veracrypt_pim
Definition: libcryptsetup.h:539
Definition: libcryptsetup.h:496
uint32_t fec_roots
Definition: libcryptsetup.h:509
const char * data_device
Definition: libcryptsetup.h:498
uint64_t data_size
Definition: libcryptsetup.h:506
const char * fec_device
Definition: libcryptsetup.h:500
const char * hash_name
Definition: libcryptsetup.h:497
uint32_t flags
Definition: libcryptsetup.h:510
uint32_t data_block_size
Definition: libcryptsetup.h:504
uint32_t salt_size
Definition: libcryptsetup.h:502
uint32_t hash_type
Definition: libcryptsetup.h:503
uint64_t hash_area_offset
Definition: libcryptsetup.h:507
const char * salt
Definition: libcryptsetup.h:501
uint32_t hash_block_size
Definition: libcryptsetup.h:505
const char * hash_device
Definition: libcryptsetup.h:499
uint64_t fec_area_offset
Definition: libcryptsetup.h:508
Definition: libcryptsetup.h:261
const char * type
Definition: libcryptsetup.h:262
uint32_t time_ms
Definition: libcryptsetup.h:264
const char * hash
Definition: libcryptsetup.h:263
uint32_t flags
Definition: libcryptsetup.h:268
uint32_t max_memory_kb
Definition: libcryptsetup.h:266
uint32_t iterations
Definition: libcryptsetup.h:265
uint32_t parallel_threads
Definition: libcryptsetup.h:267
Definition: libcryptsetup.h:2258
crypt_token_dump_func dump
Definition: libcryptsetup.h:2263
crypt_token_validate_func validate
Definition: libcryptsetup.h:2262
const char * name
Definition: libcryptsetup.h:2259
crypt_token_buffer_free_func buffer_free
Definition: libcryptsetup.h:2261
crypt_token_open_func open
Definition: libcryptsetup.h:2260
Definition: libcryptsetup.h:2069
const char * key_description
Definition: libcryptsetup.h:2070