Files
my-os-project2/kernel/fs/portfatfs/portfatfs.h

27 lines
968 B
C

#ifndef FS_PORTFATFS_PORTFATFS_H_
#define FS_PORTFATFS_PORTFATFS_H_
#include <stdint.h>
#include <stdbool.h>
#include "fs/fatfs/fat_context.h"
#include "sysdefs/fs.h"
struct VfsMountPoint;
struct VfsObj;
typedef struct {
struct fat_ctx instance;
} FatFs;
int32_t fatfs_cleanup(struct VfsMountPoint *vmp);
struct VfsObj *fatfs_open(struct VfsMountPoint *vmp, const char *path, uint32_t flags);
int32_t fatfs_stat(struct VfsMountPoint *vmp, const char *path, FsStat *statbuf);
int32_t fatfs_fetchdirent(struct VfsMountPoint *vmp, const char *path, FsDirent *direntbuf, size_t idx);
int32_t fatfs_mkdir(struct VfsMountPoint *vmp, const char *path);
int32_t fatfs_delete(struct VfsMountPoint *vmp, const char *path);
int portfatfs_diskio_read(struct fat_ctx *ctx, uint32_t sector, uint8_t *buffer, uint32_t sector_count);
int portfatfs_diskio_write(struct fat_ctx *ctx, uint32_t sector, uint8_t *buffer, uint32_t sector_count);
#endif // FS_PORTFATFS_PORTFATFS_H_