This commit is contained in:
p-w-rs
2022-09-07 11:18:56 -05:00
commit 7bb91e666d
121 changed files with 5306 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
#ifndef TTFS_H
#define TTFS_H
#include <stdint.h>
#define TTFS_MAGIC "TTFS"
#define FILE_NAME_MAX_LENGTH 22
#define MAX_FILE_BLOCKS 9
#define BLOCK_SIZE 512
typedef struct __attribute__((packed)) ttfs_super_block {
char ttfs_magic[4];
uint32_t inode_count;
uint32_t block_count;
uint32_t offset_to_inode_map;
uint32_t offset_to_block_map;
uint32_t offset_to_inode_table;
uint32_t offset_to_data_blocks;
uint32_t unused;
} ttfs_super_block;
typedef struct __attribute__((packed)) ttfs_inode {
uint8_t inode_used:1;
uint8_t is_directory:1;
uint8_t unused:6;
uint8_t block_count;
char file_name[FILE_NAME_MAX_LENGTH];
uint32_t file_size;
uint32_t blocks[MAX_FILE_BLOCKS];
} ttfs_inode;
typedef struct __attribute__((packed)) ttfs_directory_block {
uint32_t entry_count;
uint32_t inodes_inodes[BLOCK_SIZE/sizeof(uint32_t) - 1];
} ttfs_directory_block;
#endif // TTFS_H