Changeset a54af66 in mainline
- Timestamp:
- 2011-02-23T18:21:55Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ad34feb
- Parents:
- f483a15
- Location:
- uspace
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/ext2info/ext2info.c
rf483a15 ra54af66 346 346 { 347 347 uint32_t mode; 348 uint32_t mode_type; 348 349 uint32_t user_id; 349 350 uint32_t group_id; … … 358 359 359 360 mode = ext2_inode_get_mode(fs->superblock, inode); 361 mode_type = mode & EXT2_INODE_MODE_TYPE_MASK; 360 362 user_id = ext2_inode_get_user_id(fs->superblock, inode); 361 363 group_id = ext2_inode_get_group_id(fs->superblock, inode); … … 365 367 366 368 type = "Unknown"; 367 if ( (mode & EXT2_INODE_MODE_BLOCKDEV)== EXT2_INODE_MODE_BLOCKDEV) {369 if (mode_type == EXT2_INODE_MODE_BLOCKDEV) { 368 370 type = "Block device"; 369 371 } 370 else if (mode &EXT2_INODE_MODE_FIFO) {372 else if (mode_type == EXT2_INODE_MODE_FIFO) { 371 373 type = "Fifo (pipe)"; 372 374 } 373 else if (mode &EXT2_INODE_MODE_CHARDEV) {375 else if (mode_type == EXT2_INODE_MODE_CHARDEV) { 374 376 type = "Character device"; 375 377 } 376 else if (mode &EXT2_INODE_MODE_DIRECTORY) {378 else if (mode_type == EXT2_INODE_MODE_DIRECTORY) { 377 379 type = "Directory"; 378 380 } 379 else if (mode &EXT2_INODE_MODE_FILE) {381 else if (mode_type == EXT2_INODE_MODE_FILE) { 380 382 type = "File"; 381 383 } 382 else if (mode &EXT2_INODE_MODE_SOFTLINK) {384 else if (mode_type == EXT2_INODE_MODE_SOFTLINK) { 383 385 type = "Soft link"; 384 386 } 385 else if (mode &EXT2_INODE_MODE_SOCKET) {387 else if (mode_type == EXT2_INODE_MODE_SOCKET) { 386 388 type = "Socket"; 387 389 } -
uspace/lib/ext2/libext2_inode.c
rf483a15 ra54af66 54 54 55 55 /** 56 * Check whether inode is of given type 57 * 58 * @param sb pointer to superblock structure 59 * @param inode pointer to inode 60 * @param type EXT2_INODE_MODE_TYPE_* constant to check 61 */ 62 inline bool ext2_inode_is_type(ext2_superblock_t *sb, ext2_inode_t *inode, uint32_t type) 63 { 64 uint32_t mode = ext2_inode_get_mode(sb, inode); 65 return (mode & EXT2_INODE_MODE_TYPE_MASK) == type; 66 } 67 68 /** 56 69 * Get uid this inode is belonging to 57 70 * … … 79 92 { 80 93 uint32_t major_rev = ext2_superblock_get_rev_major(sb); 81 uint32_t mode = ext2_inode_get_mode(sb, inode);82 94 83 if (major_rev > 0 && mode & EXT2_INODE_MODE_FILE) {95 if (major_rev > 0 && ext2_inode_is_type(sb, inode, EXT2_INODE_MODE_FILE)) { 84 96 return ((uint64_t)uint32_t_le2host(inode->size_high)) << 32 | 85 97 ((uint64_t)uint32_t_le2host(inode->size)); -
uspace/lib/ext2/libext2_inode.h
rf483a15 ra54af66 74 74 #define EXT2_INODE_MODE_SOCKET 0xC000 75 75 #define EXT2_INODE_MODE_ACCESS_MASK 0x0FFF 76 #define EXT2_INODE_MODE_TYPE_MASK 0xF000 76 77 77 78 typedef struct ext2_inode_ref { … … 81 82 82 83 inline uint32_t ext2_inode_get_mode(ext2_superblock_t *, ext2_inode_t *); 84 inline bool ext2_inode_is_type(ext2_superblock_t *, ext2_inode_t *, uint32_t); 83 85 inline uint32_t ext2_inode_get_user_id(ext2_superblock_t *, ext2_inode_t *); 84 86 inline uint64_t ext2_inode_get_size(ext2_superblock_t *, ext2_inode_t *);
Note:
See TracChangeset
for help on using the changeset viewer.