+void tools_passphrase_msg(int r);
+int tools_is_stdin(const char *key_file);
+int tools_string_to_size(struct crypt_device *cd, const char *s, uint64_t *size);
+
+void tools_clear_line(void);
+
+int tools_wipe_progress(uint64_t size, uint64_t offset, void *usrptr);
+int tools_reencrypt_progress(uint64_t size, uint64_t offset, void *usrptr);
+
+int tools_read_mk(const char *file, char **key, int keysize);
+int tools_write_mk(const char *file, const char *key, int keysize);
+
+int tools_read_json_file(struct crypt_device *cd, const char *file, char **json, size_t *json_size);
+int tools_write_json_file(struct crypt_device *cd, const char *file, const char *json);
+
+int tools_detect_signatures(const char *device, int ignore_luks, size_t *count);
+int tools_wipe_all_signatures(const char *path);
+
+int tools_lookup_crypt_device(struct crypt_device *cd, const char *type,
+ const char *data_device_path, char *name, size_t name_length);
+
+/* each utility is required to implement it */
+void tools_cleanup(void);
+
+#define FREE_AND_NULL(x) do { free(x); x = NULL; } while (0)