Changeset c00e729 in mainline for uspace/app/ext2info/ext2info.c
- Timestamp:
- 2011-02-13T23:19:12Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f6fa2c2
- Parents:
- 8bd5dad
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/ext2info/ext2info.c
r8bd5dad rc00e729 53 53 54 54 static void syntax_print(void); 55 static void print_superblock(ext2_superblock_t *sb); 55 56 56 57 int main(int argc, char **argv) … … 61 62 devmap_handle_t handle; 62 63 ext2_filesystem_t filesystem; 63 64 uint16_t magic;65 64 66 65 if (argc < 2) { … … 92 91 } 93 92 94 printf("Superblock:\n"); 95 magic = ext2_superblock_get_magic(filesystem.superblock); 96 if (magic == EXT2_SUPERBLOCK_MAGIC) { 97 printf(" Magic value: %X (correct)\n", magic); 98 } 99 else { 100 printf(" Magic value: %X (incorrect)\n", magic); 101 } 93 print_superblock(filesystem.superblock); 102 94 103 95 ext2_filesystem_fini(&filesystem); … … 109 101 static void syntax_print(void) 110 102 { 111 printf("syntax: blkdump [--offset <num_blocks>] [--count <num_blocks>] <device_name>\n"); 103 printf("syntax: ext2info <device_name>\n"); 104 } 105 106 static void print_superblock(ext2_superblock_t *superblock) 107 { 108 uint16_t magic; 109 uint32_t first_block; 110 uint32_t block_size; 111 uint32_t fragment_size; 112 uint32_t blocks_per_group; 113 uint32_t fragments_per_group; 114 uint32_t rev_major; 115 uint16_t rev_minor; 116 uint16_t state; 117 uint32_t first_inode; 118 uint16_t inode_size; 119 120 int pos; 121 unsigned char c; 122 123 magic = ext2_superblock_get_magic(superblock); 124 first_block = ext2_superblock_get_first_block(superblock); 125 block_size = ext2_superblock_get_block_size(superblock); 126 fragment_size = ext2_superblock_get_fragment_size(superblock); 127 blocks_per_group = ext2_superblock_get_blocks_per_group(superblock); 128 fragments_per_group = ext2_superblock_get_fragments_per_group(superblock); 129 rev_major = ext2_superblock_get_rev_major(superblock); 130 rev_minor = ext2_superblock_get_rev_minor(superblock); 131 state = ext2_superblock_get_state(superblock); 132 first_inode = ext2_superblock_get_first_inode(superblock); 133 inode_size = ext2_superblock_get_inode_size(superblock); 134 135 printf("Superblock:\n"); 136 137 if (magic == EXT2_SUPERBLOCK_MAGIC) { 138 printf(" Magic value: %X (correct)\n", magic); 139 } 140 else { 141 printf(" Magic value: %X (incorrect)\n", magic); 142 } 143 144 printf(" Revision: %u.%hu\n", rev_major, rev_minor); 145 printf(" State: %hu\n", state); 146 printf(" First block: %u\n", first_block); 147 printf(" Block size: %u bytes (%u KiB)\n", block_size, block_size/1024); 148 printf(" Blocks per group: %u\n", blocks_per_group); 149 printf(" Fragment size: %u bytes (%u KiB)\n", fragment_size, 150 fragment_size/1024); 151 printf(" Fragments per group: %u\n", fragments_per_group); 152 printf(" First inode: %u\n", first_inode); 153 printf(" Inode size: %hu bytes\n", inode_size); 154 155 printf(" UUID: "); 156 for (pos = 0; pos < 16; pos++) { 157 printf("%02x", superblock->uuid[pos]); 158 } 159 printf("\n"); 160 161 printf(" Volume label: "); 162 for (pos = 0; pos < 16; pos++) { 163 c = superblock->volume_name[pos]; 164 if (c >= 32 && c < 128) { 165 putchar(c); 166 } 167 else { 168 putchar(' '); 169 } 170 } 171 printf("\n"); 172 112 173 } 113 174
Note:
See TracChangeset
for help on using the changeset viewer.