#ifndef _CRYPTO_H
#define _CRYPTO_H
-#include "util.h"
+#include "tools-util.h"
-struct bcache_key {
- u64 key[4];
-};
-
-struct bcache_disk_key {
- u64 header;
- u64 key[4];
-};
-
-static const char bch_key_header[8] = BCACHE_MASTER_KEY_HEADER;
-static const struct nonce bch_master_key_nonce = BCACHE_MASTER_KEY_NONCE;
+struct bch_sb;
+struct bch_sb_field_crypt;
+struct bch_key;
+struct bch_encrypted_key;
char *read_passphrase(const char *);
-void derive_passphrase(struct bcache_key *, const char *);
-void disk_key_encrypt(struct cache_sb *sb, struct bcache_disk_key *,
- struct bcache_key *);
-void disk_key_init(struct bcache_disk_key *);
+char *read_passphrase_twice(const char *);
+
+struct bch_key derive_passphrase(struct bch_sb_field_crypt *, const char *);
+bool bch2_sb_is_encrypted(struct bch_sb *);
+void bch2_passphrase_check(struct bch_sb *, const char *,
+ struct bch_key *, struct bch_encrypted_key *);
+void bch2_add_key(struct bch_sb *, const char *);
+void bch_sb_crypt_init(struct bch_sb *sb, struct bch_sb_field_crypt *,
+ const char *);
#endif /* _CRYPTO_H */