Changeset 7bc4508 in mainline for uspace/lib/ext4/libext4_directory.h
- Timestamp:
- 2011-10-18T19:58:36Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7bd2c19
- Parents:
- 12f55220
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ext4/libext4_directory.h
r12f55220 r7bc4508 64 64 /* Structures for indexed directory */ 65 65 66 typedef struct ext4_directory_dx_countlimit { 67 uint16_t limit; 68 uint16_t count; 69 } ext4_directory_dx_countlimit_t; 70 66 71 typedef struct ext4_directory_dx_dot_entry { 67 72 uint32_t inode; … … 87 92 typedef struct ext4_directory_dx_root { 88 93 ext4_directory_dx_dot_entry_t dots[2]; 89 // TODO insert root info items instead of special datatype90 94 ext4_directory_dx_root_info_t info; 91 ext4_directory_dx_entry_t *entries;95 ext4_directory_dx_entry_t entries[0]; 92 96 } ext4_directory_dx_root_t; 93 97 98 typedef struct ext4_directory_dx_hash_info { 99 uint32_t hash; 100 uint32_t minor_hash; 101 uint32_t hash_version; 102 uint32_t *seed; 103 } ext4_directory_dx_hash_info_t; 94 104 95 #define EXT4_DIRECTORY_HTREE_EOF 0x7fffffff 105 106 #define EXT4_ERR_BAD_DX_DIR (-75000) 107 108 #define EXT4_DIRECTORY_DX_HASH_LEGACY 0 109 #define EXT4_DIRECTORY_DX_HASH_HALF_MD4 1 110 #define EXT4_DIRECTORY_DX_HASH_TEA 2 111 #define EXT4_DIRECTORY_DX_HASH_LEGACY_UNSIGNED 3 112 #define EXT4_DIRECTORY_DX_HASH_HALF_MD4_UNSIGNED 4 113 #define EXT4_DIRECTORY_DX_HASH_TEA_UNSIGNED 5 114 115 #define EXT4_DIRECTORY_HTREE_EOF 0x7fffffff 96 116 97 117 … … 102 122 ext4_superblock_t *, ext4_directory_entry_ll_t *); 103 123 124 extern uint8_t ext4_directory_dx_root_info_get_hash_version(ext4_directory_dx_root_info_t *); 125 extern uint8_t ext4_directory_dx_root_info_get_info_length(ext4_directory_dx_root_info_t *); 126 extern uint8_t ext4_directory_dx_root_info_get_indirect_levels(ext4_directory_dx_root_info_t *); 127 128 extern uint16_t ext4_directory_dx_countlimit_get_limit(ext4_directory_dx_countlimit_t *); 129 extern uint16_t ext4_directory_dx_countlimit_get_count(ext4_directory_dx_countlimit_t *); 130 131 extern uint32_t ext4_directory_dx_entry_get_hash(ext4_directory_dx_entry_t *); 132 extern uint32_t ext4_directory_dx_entry_get_block(ext4_directory_dx_entry_t *); 133 104 134 extern int ext4_directory_iterator_init(ext4_directory_iterator_t *, 105 135 ext4_filesystem_t *, ext4_inode_ref_t *, aoff64_t); … … 107 137 extern int ext4_directory_iterator_seek(ext4_directory_iterator_t *, aoff64_t pos); 108 138 extern int ext4_directory_iterator_fini(ext4_directory_iterator_t *); 139 extern int ext4_directory_dx_find_entry(ext4_directory_iterator_t *, 140 ext4_filesystem_t *, ext4_inode_ref_t *, const char *); 141 142 extern void ext4_directory_hash(ext4_directory_dx_hash_info_t *, const char* name); 109 143 110 144 #endif
Note:
See TracChangeset
for help on using the changeset viewer.