|
|
@ -12,17 +12,17 @@ static char loaded_disk_name[256]; |
|
|
|
static char input_buffer[256]; |
|
|
|
|
|
|
|
int dmu_print_file(char *path) { |
|
|
|
printf("\n|-----------------Meta Information For File-----------------|\n"); |
|
|
|
|
|
|
|
lsfs_file *file = calloc(1, sizeof(lsfs_file)); |
|
|
|
lsfs_disk_getattr(file, path); |
|
|
|
|
|
|
|
|
|
|
|
printf("\n|-----------------Meta Information For File-----------------|\n"); |
|
|
|
printf("File ID: %lu\n", file->file_id); |
|
|
|
printf("Filename: %s\n", file->filename); |
|
|
|
printf("File size: %lu\n", file->size); |
|
|
|
printf("Entry kind: %d", file->entry_kind); |
|
|
|
printf("Index in directory table: %d", file->table_entry_pointer); |
|
|
|
printf("Entry kind: %d\n", file->entry_kind); |
|
|
|
printf("Index in directory table: %d\n", file->table_entry_pointer); |
|
|
|
printf("Sector index on disk: %lu\n", file->table_entry_sector_index); |
|
|
|
printf("\nData pointers:\n"); |
|
|
|
for (int i = 0; i < NUM_DATA_POINTERS; ++i) |
|
|
@ -155,11 +155,12 @@ int dmu_print_mtt(char *path) { |
|
|
|
Directory_Table *directory_table; |
|
|
|
directory_table = lsfs_find_directory(path, false); |
|
|
|
|
|
|
|
printf("\n|------------------------ Directory ------------------------|Control_bits|\n"); |
|
|
|
printf("\n|------------------------ Directory -------------------------------------|\n"); |
|
|
|
printf("\n|--------Filename------------|Not used----------------------|Entry ID----|\n"); |
|
|
|
|
|
|
|
for (int i = 0; i < DEFAULT_TABLE_SIZE; ++i) { |
|
|
|
printf("|%-28s|%-30lu|%-12d| \n", directory_table->entries[i].filename, directory_table->entries[i].file_id, directory_table->entries[i].file_id); |
|
|
|
printf("|-----------------------------------------------------------|------------|\n"); |
|
|
|
printf("|----------------------------|------------------------------|------------|\n"); |
|
|
|
|
|
|
|
} |
|
|
|
printf("\n\n\n"); |
|
|
@ -200,17 +201,28 @@ int main (int argc, char *argv[]) |
|
|
|
printf("Tag File System Utility\nMenu:\nc: Create new lsfs disk\nl: load disk\nEnter:"); |
|
|
|
} |
|
|
|
else { |
|
|
|
printf("Tag File System Utility\nDisk loaded: %s\nMenu:\n1: Print Master Tag Table\n2: Print Tag Table\n3: Print File\n4: Create Tag\n5: Create New File\ni: install Bootloader\n", loaded_disk_name); |
|
|
|
printf("Tag File System Utility\n" |
|
|
|
"Disk loaded: %s\nMenu:\n" |
|
|
|
"1: Print Directory table\n" |
|
|
|
"2: (Not implemented) \n" |
|
|
|
"3: Print File\n" |
|
|
|
"4: (Not implemented)\n" |
|
|
|
"5: Create New Directory\n" |
|
|
|
"i: install Bootloader\n" |
|
|
|
"v: install VBR\n" |
|
|
|
"exit: exit program\n", loaded_disk_name); |
|
|
|
} |
|
|
|
|
|
|
|
scanf("%s", chose); |
|
|
|
|
|
|
|
if (strcmp(chose, "c") == 0) { |
|
|
|
if (strcmp(chose, "c") == 0) |
|
|
|
{ |
|
|
|
printf("\nCreate disk\nEnter filename:\n"); |
|
|
|
scanf("%s", loaded_disk_name); |
|
|
|
dmu_create_file_system(loaded_disk_name); |
|
|
|
} |
|
|
|
else if(strcmp(chose, "l") == 0) { |
|
|
|
else if(strcmp(chose, "l") == 0) |
|
|
|
{ |
|
|
|
printf("\nLoad disk\nEnter filename:\n"); |
|
|
|
scanf("%s", loaded_disk_name); |
|
|
|
dmu_load_file_system(loaded_disk_name); |
|
|
|