52 lines
1.1 KiB
C
52 lines
1.1 KiB
C
#ifndef FSCTL_FUGUE_BITS_FS_H
|
|
#define FSCTL_FUGUE_BITS_FS_H 1
|
|
|
|
#include <stdint.h>
|
|
#include <stddef.h>
|
|
|
|
#include "fsctl/fugue/bits/logger.h"
|
|
|
|
/* fugue_fs : Fugue File System abstraction */
|
|
struct fugue_fs
|
|
{
|
|
/* fs properties */
|
|
struct {
|
|
char const *type;
|
|
size_t capacity;
|
|
size_t free;
|
|
size_t used;
|
|
int cluster_nb;
|
|
int cluster_resv;
|
|
int cluster_free;
|
|
int cluster_dead;
|
|
int cluster_used;
|
|
int cluster_error;
|
|
size_t cluster_size;
|
|
int cluster_nb_sector;
|
|
int sector_size;
|
|
int sector_data_nb;
|
|
int sector_root_nb;
|
|
size_t fats_size;
|
|
size_t fat0_size;
|
|
size_t fat1_size;
|
|
int fat_sec;
|
|
} props;
|
|
|
|
/* debug-level information */
|
|
struct {
|
|
int a; //TODO
|
|
} _logs;
|
|
|
|
/* memory related and low-level information */
|
|
struct {
|
|
struct fugue_fat_vbr *vbr;
|
|
void *fat0;
|
|
void *fat1;
|
|
void *root;
|
|
fugue_logger_t *logger;
|
|
} _private;
|
|
};
|
|
typedef struct fugue_fs fugue_fs_t;
|
|
|
|
#endif /* FSCTL_FUGUE_BITS_FS_H */
|