X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fbluesky.h;h=74088497db141ef9c471c7f0627685e6114d1151;hb=98effa493bca2b6e97d98035be602993da27d26b;hp=e141dd35f45c8e3fa78a597add4ea3e2c8671b57;hpb=54641cabe724241dc1a04b769e92a33ac99d640a;p=bluesky.git diff --git a/bluesky/bluesky.h b/bluesky/bluesky.h index e141dd3..7408849 100644 --- a/bluesky/bluesky.h +++ b/bluesky/bluesky.h @@ -39,6 +39,7 @@ BlueSkyRCStr *bluesky_string_dup(BlueSkyRCStr *string); #define CRYPTO_KEY_SIZE 16 void bluesky_crypt_init(); +void bluesky_crypt_hash_key(const char *keystr, uint8_t *out); void bluesky_crypt_random_bytes(guchar *buf, gint len); BlueSkyRCStr *bluesky_crypt_encrypt(BlueSkyRCStr *in, const uint8_t *key); BlueSkyRCStr *bluesky_crypt_decrypt(BlueSkyRCStr *in, const uint8_t *key); @@ -94,8 +95,6 @@ typedef struct { uint64_t next_inum; /* Next available inode for allocation */ BlueSkyStore *store; - - uint8_t *encryption_key; } BlueSkyFS; /* Inode number of the root directory. */ @@ -188,7 +187,9 @@ typedef struct { BlueSkyRCStr *data; /* Pointer to data in memory if cached */ } BlueSkyBlock; -BlueSkyFS *bluesky_new_fs(gchar *name); +BlueSkyFS *bluesky_init_fs(gchar *name, BlueSkyStore *store); +void bluesky_superblock_flush(BlueSkyFS *fs); + int64_t bluesky_get_current_time(); void bluesky_inode_update_ctime(BlueSkyInode *inode, gboolean update_mtime); uint64_t bluesky_fs_alloc_inode(BlueSkyFS *fs); @@ -198,10 +199,9 @@ BlueSkyInode *bluesky_get_inode(BlueSkyFS *fs, uint64_t inum); void bluesky_insert_inode(BlueSkyFS *fs, BlueSkyInode *inode); void bluesky_dirent_destroy(gpointer dirent); -uint64_t bluesky_directory_hash(gchar *name); uint64_t bluesky_directory_lookup(BlueSkyInode *inode, gchar *name); uint64_t bluesky_directory_ilookup(BlueSkyInode *inode, gchar *name); -gboolean bluesky_directory_insert(BlueSkyInode *dir, gchar *name, +gboolean bluesky_directory_insert(BlueSkyInode *dir, const gchar *name, uint64_t inum); void bluesky_directory_dump(BlueSkyInode *dir); @@ -216,8 +216,6 @@ void bluesky_file_read(BlueSkyInode *inode, uint64_t offset, void bluesky_inode_flush(BlueSkyFS *fs, BlueSkyInode *inode); void bluesky_inode_fetch(BlueSkyFS *fs, uint64_t inum); -void bluesky_serialize_inode(GString *out, BlueSkyInode *inode); -BlueSkyInode *bluesky_deserialize_inode(BlueSkyFS *fs, const gchar *buf); gint bluesky_dirent_compare(gconstpointer a, gconstpointer b, gpointer unused);