#ifndef FS_KVFS_KVFS_H_ #define FS_KVFS_KVFS_H_ #include struct VfsMountPoint; #define KVFS_NODE_KEY_MAX 128 #define KVFS_NODES_MAX 256 #define KVFS_BUFFER_SIZE (1024 * 2) typedef struct { bool taken; uint8_t key_[KVFS_NODE_KEY_MAX]; uint8_t *buffer; SpinLock spinlock; } KvfsNode; typedef struct { KvfsNode nodes[KVFS_NODES_MAX]; } Kvfs; int32_t kvfs_read(struct VfsMountPoint *vmp, const char *key, uint8_t *const buffer, size_t n, size_t off); int32_t kvfs_write(struct VfsMountPoint *vmp, const char *key, const uint8_t *const buffer, size_t n, size_t off); int32_t kvfs_remove(struct VfsMountPoint *vmp, const char *key); int32_t kvfs_cleanup(struct VfsMountPoint *vmp); bool kvfs_check(void); #endif // FS_KVFS_KVFS_H_