Changeset ad34feb in mainline for uspace/lib/ext2/libext2_inode.c
- Timestamp:
- 2011-02-23T23:07:28Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 102d400
- Parents:
- a54af66
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ext2/libext2_inode.c
ra54af66 rad34feb 38 38 #include "libext2_superblock.h" 39 39 #include <byteorder.h> 40 #include <assert.h> 40 41 41 42 /** … … 142 143 143 144 /** 145 * Get number of blocks allocated for contents of the file 146 * represented by this inode. 147 * 148 * @param inode pointer to inode 149 */ 150 inline uint32_t ext2_inode_get_reserved_blocks(ext2_superblock_t *sb, 151 ext2_inode_t *inode) 152 { 153 return ext2_inode_get_reserved_512_blocks(inode) / 154 (ext2_superblock_get_block_size(sb) / 512); 155 } 156 157 /** 144 158 * Get inode flags 145 159 * … … 158 172 inline uint32_t ext2_inode_get_direct_block(ext2_inode_t *inode, uint8_t idx) 159 173 { 174 assert(idx < EXT2_INODE_DIRECT_BLOCKS); 160 175 return uint32_t_le2host(inode->direct_blocks[idx]); 161 176 } … … 165 180 * 166 181 * @param inode pointer to inode 182 * @param idx Indirection level. Valid values are 0 <= idx < 3, where 0 is 183 * singly-indirect block and 2 is triply-indirect-block 167 184 */ 168 inline uint32_t ext2_inode_get_ single_indirect_block(ext2_inode_t *inode)185 inline uint32_t ext2_inode_get_indirect_block(ext2_inode_t *inode, uint8_t idx) 169 186 { 170 return uint32_t_le2host(inode->single_indirect_block); 187 assert(idx < 3); 188 return uint32_t_le2host(inode->indirect_blocks[idx]); 171 189 } 172 173 /**174 * Get double indirect block ID175 *176 * @param inode pointer to inode177 */178 inline uint32_t ext2_inode_get_double_indirect_block(ext2_inode_t *inode)179 {180 return uint32_t_le2host(inode->double_indirect_block);181 }182 183 /**184 * Get triple indirect block ID185 *186 * @param inode pointer to inode187 */188 inline uint32_t ext2_inode_get_triple_indirect_block(ext2_inode_t *inode)189 {190 return uint32_t_le2host(inode->triple_indirect_block);191 }192 193 194 190 195 191 /** @}
Note:
See TracChangeset
for help on using the changeset viewer.