-struct hash_backend *get_hash_backend(const char *name);
-void put_hash_backend(struct hash_backend *backend);
-int hash(const char *backend_name, const char *hash_name,
- char *result, size_t size,
- const char *passphrase, size_t sizep);
-
-/* Device mapper backend */
-const char *dm_get_dir(void);
-int dm_init(struct crypt_device *context, int check_kernel);
-void dm_exit(void);
-int dm_remove_device(const char *name, int force, uint64_t size);
-int dm_status_device(const char *name);
-int dm_query_device(const char *name,
- char **device,
- uint64_t *size,
- uint64_t *skip,
- uint64_t *offset,
- char **cipher,
- int *key_size,
- char **key,
- int *read_only,
- int *suspended,
- char **uuid);
-int dm_create_device(const char *name, const char *device, const char *cipher,
- const char *type, const char *uuid,
- uint64_t size, uint64_t skip, uint64_t offset,
- size_t key_size, const char *key,
- int read_only, int reload);
-int dm_suspend_and_wipe_key(const char *name);
-int dm_resume_and_reinstate_key(const char *name,
- size_t key_size,
- const char *key);
-
-int sector_size_for_device(const char *device);
-ssize_t write_blockwise(int fd, const void *buf, size_t count);
-ssize_t read_blockwise(int fd, void *_buf, size_t count);
-ssize_t write_lseek_blockwise(int fd, const char *buf, size_t count, off_t offset);
-int device_ready(struct crypt_device *cd, const char *device, int mode);
-int get_device_infos(const char *device, struct device_infos *infos, struct crypt_device *cd);
-int wipe_device_header(const char *device, int sectors);
-
-void get_key(char *prompt, char **key, unsigned int *passLen, int key_size,
- const char *key_file, int timeout, int how2verify,
- struct crypt_device *cd);