Changeset 12f55220 in mainline for uspace/lib/ext4/libext4_directory.h


Ignore:
Timestamp:
2011-10-18T06:29:00Z (13 years ago)
Author:
Frantisek Princ <frantisek.princ@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7bc4508
Parents:
22ceff3a
Message:

first structures for reading indexed directories

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ext4/libext4_directory.h

    r22ceff3a r12f55220  
    3737#include "libext4_inode.h"
    3838
    39 #define EXT4_FILENAME_LEN       255
     39#define EXT4_DIRECTORY_FILENAME_LEN     255
    4040
    4141/**
     
    5050                uint8_t inode_type; // Type of referenced inode (in rev >= 0.5)
    5151        } __attribute__ ((packed));
    52         uint8_t name[EXT4_FILENAME_LEN]; // Entry name
     52        uint8_t name[EXT4_DIRECTORY_FILENAME_LEN]; // Entry name
    5353} __attribute__ ((packed)) ext4_directory_entry_ll_t;
    5454
     
    6060        ext4_directory_entry_ll_t *current;
    6161} ext4_directory_iterator_t;
     62
     63
     64/* Structures for indexed directory */
     65
     66typedef struct ext4_directory_dx_dot_entry {
     67        uint32_t inode;
     68        uint16_t entry_length;
     69    uint8_t name_length;
     70    uint8_t inode_type;
     71    uint8_t name[4];
     72} ext4_directory_dx_dot_entry_t;
     73
     74typedef struct ext4_directory_dx_root_info {
     75        uint32_t reserved_zero;
     76        uint8_t hash_version;
     77        uint8_t info_length;
     78        uint8_t indirect_levels;
     79        uint8_t unused_flags;
     80} ext4_directory_dx_root_info_t;
     81
     82typedef struct ext4_directory_dx_entry {
     83        uint32_t hash;
     84        uint32_t block;
     85} ext4_directory_dx_entry_t;
     86
     87typedef struct ext4_directory_dx_root {
     88                ext4_directory_dx_dot_entry_t dots[2];
     89                // TODO insert root info items instead of special datatype
     90                ext4_directory_dx_root_info_t info;
     91                ext4_directory_dx_entry_t *entries;
     92} ext4_directory_dx_root_t;
     93
     94
     95#define EXT4_DIRECTORY_HTREE_EOF  0x7fffffff
     96
    6297
    6398extern uint32_t ext4_directory_entry_ll_get_inode(ext4_directory_entry_ll_t *);
Note: See TracChangeset for help on using the changeset viewer.