/* Cryptographic operations. */
#define CRYPTO_BLOCK_SIZE 16 /* 128-bit AES */
#define CRYPTO_KEY_SIZE 16
+#define CRYPTO_HASH_SIZE 32 /* SHA-256 */
+
+struct BlueSkyCryptKeys {
+ uint8_t encryption_key[CRYPTO_KEY_SIZE];
+ uint8_t authentication_key[CRYPTO_HASH_SIZE];
+};
void bluesky_crypt_init();
void bluesky_crypt_hash_key(const char *keystr, uint8_t *out);
/* The inode map, which maps inode numbers to the location of the most
* recent version. */
GSequence *inode_map;
+
+ /* Queue for asynchronous cloudlog unrefs, where needed. */
+ GAsyncQueue *unref_queue;
} BlueSkyFS;
/* Inode number of the root directory. */