31 lines
835 B
C
31 lines
835 B
C
#ifndef FS_KVFS_KVFS_H_
|
|
#define FS_KVFS_KVFS_H_
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
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];
|
|
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_create(struct VfsMountPoint *vmp, const char *path, int32_t type);
|
|
int32_t kvfs_cleanup(struct VfsMountPoint *vmp);
|
|
bool kvfs_check(void);
|
|
|
|
#endif // FS_KVFS_KVFS_H_
|