1 #ifndef _LIBCRYPTSETUP_H
2 #define _LIBCRYPTSETUP_H
10 #define CRYPT_LOG_NORMAL 0
11 #define CRYPT_LOG_ERROR 1
13 struct interface_callbacks {
14 int (*yesDialog)(char *msg);
15 void (*log)(int class, char *msg);
19 #define CRYPT_FLAG_VERIFY (1 << 0)
20 #define CRYPT_FLAG_READONLY (1 << 1)
21 #define CRYPT_FLAG_VERIFY_IF_POSSIBLE (1 << 2)
22 #define CRYPT_FLAG_VERIFY_ON_DELKEY (1 << 3)
23 #define CRYPT_FLAG_NON_EXCLUSIVE_ACCESS (1 << 4)
25 struct crypt_options {
32 const char *passphrase;
35 const char *new_key_file;
44 uint64_t iteration_time;
47 uint64_t align_payload;
50 struct interface_callbacks *icb;
53 int crypt_create_device(struct crypt_options *options);
54 int crypt_update_device(struct crypt_options *options);
55 int crypt_resize_device(struct crypt_options *options);
56 int crypt_query_device(struct crypt_options *options);
57 int crypt_remove_device(struct crypt_options *options);
58 int crypt_luksFormat(struct crypt_options *options);
59 int crypt_luksOpen(struct crypt_options *options);
60 int crypt_luksKillSlot(struct crypt_options *options);
61 int crypt_luksRemoveKey(struct crypt_options *options);
62 int crypt_luksAddKey(struct crypt_options *options);
63 int crypt_luksUUID(struct crypt_options *options);
64 int crypt_isLuks(struct crypt_options *options);
65 int crypt_luksFormat(struct crypt_options *options);
66 int crypt_luksDump(struct crypt_options *options);
68 void crypt_get_error(char *buf, size_t size);
69 void crypt_put_options(struct crypt_options *options);
70 const char *crypt_get_dir(void);
75 #endif /* _LIBCRYPTSETUP_H */