diff options
Diffstat (limited to 'sw/z80/kernel/include/filesystem.h')
-rw-r--r-- | sw/z80/kernel/include/filesystem.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/sw/z80/kernel/include/filesystem.h b/sw/z80/kernel/include/filesystem.h deleted file mode 100644 index 6505d5e..0000000 --- a/sw/z80/kernel/include/filesystem.h +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef __FILESYSTEM_H__ -#define __FILESYSTEM_H__ - -#include "types.h" - -#define FS_OFFSET 0x1000 - -#define FS_BLOCK_SIZE 512 -#define FS_BLOCKS_N 12 -/* #define FS_IBLOCKS_N 1 */ - -#define INODE_TYPE_FILE 0 -#define INODE_TYPE_DIR 1 -#define INODE_TYPE_LINK 2 - -typedef struct time_s -{ - uint16_t time; - uint16_t date; -} time_t; - - -/* on-disk structures */ -struct fs_superblock -{ - uint8_t magic; - uint16_t blk_size; /* default is 512 bytes */ - uint16_t imap_size; /* size of the inode bitmap in blocks */ - uint16_t dmap_size; /* size of the data blocks map in blocks */ -}; - - -struct fs_blk -{ - uint size; -}; - -typedef struct fs_inode -{ - uint i_used :1; // inode is free - uint i_mode :3; // inode mode (rwx) - - uint8_t i_uid; // user (owner) id - uint16_t i_number; // identifier - - uint16_t i_blocks; // number of blocks - - struct fs_blk i_block[FS_BLOCKS_N]; // direct blocks -/* struct fs_blk i_iblock[FS_IBLOCKS_N]; // indirect blocks */ - - inode_t *parent; -} inode_t; - -/* inode table structures */ -struct fs_inode_entry -{ - uint16_t i_number; - uint8_t str_len; - char name[24]; -}; - -/* filesystem struct for the operating system */ -struct filesystem -{ - size_t size; - size_t fsize; - inode_t *mntpt; -}; - -void fs_parse_superblock(struct filesystem *fs); - -void fs_write_imap(); -void fs_write_dmap(); - -/* void fs_ */ - -#endif // __FILESYSTEM_H__ |