9 Commits

4 changed files with 718 additions and 216 deletions
+2 -1
View File
@@ -21,10 +21,11 @@
/* FS config section */ /* FS config section */
#define FS_MAX_DEVICE_FILE_NAME_LEN 512 #define FS_MAX_DEVICE_FILE_NAME_LEN 512
#define FS_BLOCK_SIZE 4096 #define FS_BLOCK_SIZE 16
#define FS_MAX_BITMAP_SIZE 64 #define FS_MAX_BITMAP_SIZE 64
#define FS_MAX_PATH_LEN 512 #define FS_MAX_PATH_LEN 512
#define FS_MAX_OPEN_FD 32 #define FS_MAX_OPEN_FD 32
#define FS_MAX_FNAME_LEN 11
#endif #endif
+3 -1
View File
@@ -37,7 +37,7 @@ struct fs_inode_extension {
__attribute__((packed)) __attribute__((packed))
struct fs_directory_record { struct fs_directory_record {
unsigned char fname[60]; unsigned char fname[FS_MAX_FNAME_LEN+1];
unsigned int inode_no; unsigned int inode_no;
}; };
@@ -54,11 +54,13 @@ int fs_use(void *d);
int fs_mkfs(void *d); int fs_mkfs(void *d);
int fs_ls(void *d); int fs_ls(void *d);
int fs_la(void *d); int fs_la(void *d);
int fs_stat(void *d);
int fs_rm(void *d); int fs_rm(void *d);
int fs_open(void *d); int fs_open(void *d);
int fs_seek(void *d); int fs_seek(void *d);
int fs_read(void *d); int fs_read(void *d);
int fs_write(void *d); int fs_write(void *d);
int fs_close(void *d); int fs_close(void *d);
int fs_truncate(void *d);
int fs_allow_write(void *d); int fs_allow_write(void *d);
int fs_prohibit_write(void *d); int fs_prohibit_write(void *d);
+2 -2
View File
@@ -15,11 +15,11 @@ static const struct CliCommandEntry cmd[] = {
// mandatory commands // mandatory commands
{"mkfs", 1, (enum CliArgType[]) {INT}, fs_mkfs}, {"mkfs", 1, (enum CliArgType[]) {INT}, fs_mkfs},
{"create", 1, (enum CliArgType[]) {STR}, fs_create}, {"create", 1, (enum CliArgType[]) {STR}, fs_create},
//{"stat", 1, (enum CliArgType[]) {STR}, fs_stat}, {"stat", 1, (enum CliArgType[]) {STR}, fs_stat},
{"ls", 0, NULL, fs_ls}, {"ls", 0, NULL, fs_ls},
{"ln", 2, (enum CliArgType[]) {STR, STR}, fs_ln}, {"ln", 2, (enum CliArgType[]) {STR, STR}, fs_ln},
{"rm", 1, (enum CliArgType[]) {STR}, fs_rm}, {"rm", 1, (enum CliArgType[]) {STR}, fs_rm},
//{"truncate", 2, (enum CliArgType[]) {STR, INT}, fs_truncate}, {"truncate", 2, (enum CliArgType[]) {STR, INT}, fs_truncate},
{"open", 1, (enum CliArgType[]) {STR}, fs_open}, {"open", 1, (enum CliArgType[]) {STR}, fs_open},
{"seek", 2, (enum CliArgType[]) {INT, INT}, fs_seek}, {"seek", 2, (enum CliArgType[]) {INT, INT}, fs_seek},
{"read", 2, (enum CliArgType[]) {INT, INT}, fs_read}, {"read", 2, (enum CliArgType[]) {INT, INT}, fs_read},
+711 -212
View File
File diff suppressed because it is too large Load Diff