diff options
author | leleraffa97@hotmail.it <leleraffa97@hotmail.it> | 2017-08-31 16:56:06 +0200 |
---|---|---|
committer | leleraffa97@hotmail.it <leleraffa97@hotmail.it> | 2017-08-31 16:56:06 +0200 |
commit | aa1eb39e9266c51082ed2d8744e97ad674b6496c (patch) | |
tree | 0dfbead4937804b8154f98ee3864b24e9e024260 /sw/z80/kernel/include/fs/dev.h | |
parent | time to inode (diff) | |
download | z80uPC-aa1eb39e9266c51082ed2d8744e97ad674b6496c.tar.gz z80uPC-aa1eb39e9266c51082ed2d8744e97ad674b6496c.zip |
File system interface
Basic file system implementation
Path resolution work in progress
Diffstat (limited to 'sw/z80/kernel/include/fs/dev.h')
-rw-r--r-- | sw/z80/kernel/include/fs/dev.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sw/z80/kernel/include/fs/dev.h b/sw/z80/kernel/include/fs/dev.h new file mode 100644 index 0000000..8e550f3 --- /dev/null +++ b/sw/z80/kernel/include/fs/dev.h @@ -0,0 +1,29 @@ +#ifndef DEV_H +#define DEV_H + +#include "types.h" + +#define FS_MOUNT_LIMIT 16 + +struct fs_superblock +{ + uint8_t magic; // identifier + + size_t blk_size; // size of a single block + size_t imap_size; // quantity of inodes + size_t dmap_size; // quantity of blocks +}; + +struct fs_dev +{ + uint enabled :1; // in use + uint port_no :3; // serial port number + uint :4; + inode_t inode; // dir mounted + struct fs_superblock superblock; // block informations +}; + +/* list of devices */ +extern struct fs_dev devices[FS_MOUNT_LIMIT]; + +#endif |