Changeset 9c0c0e1 in mainline for uspace/lib/ext4/libext4_superblock.h


Ignore:
Timestamp:
2011-10-04T12:18:44Z (14 years ago)
Author:
Frantisek Princ <frantisek.princ@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a23297c
Parents:
01ab41b
Message:

part of code needed for successful mount (porting from ext2)

File:
1 edited

Legend:

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

    r01ab41b r9c0c0e1  
    4141 */
    4242typedef struct ext4_superblock {
    43         uint32_t s_inodes_count; // Inodes count
     43        uint32_t inodes_count; // Inodes count
    4444        uint32_t s_blocks_count_lo; // Blocks count
    4545        uint32_t s_r_blocks_count_lo; // Reserved blocks count
    46         uint32_t s_free_blocks_count_lo; // Free blocks count
    47         uint32_t s_free_inodes_count; // Free inodes count
    48         uint32_t s_first_data_block; // First Data Block
    49         uint32_t s_log_block_size; // Block size
     46        uint32_t free_blocks_count_lo; // Free blocks count
     47        uint32_t free_inodes_count; // Free inodes count
     48        uint32_t first_data_block; // First Data Block
     49        uint32_t log_block_size; // Block size
    5050        uint32_t s_obso_log_frag_size; // Obsoleted fragment size
    5151        uint32_t s_blocks_per_group; // Number of blocks per group
     
    5454        uint32_t s_mtime; // Mount time
    5555        uint32_t s_wtime; // Write time
    56         uint16_t s_mnt_count; // Mount count
    57         uint16_t s_max_mnt_count; // Maximal mount count
    58         uint16_t s_magic; // Magic signature
    59         uint16_t s_state; // File system state
    60         uint16_t s_errors; // Behaviour when detecting errors
    61         uint16_t s_minor_rev_level; // Minor revision level
    62         uint32_t s_lastcheck; // Time of last check
    63         uint32_t s_checkinterval; // Maximum time between checks
    64         uint32_t s_creator_os; // Creator OS
    65         uint32_t s_rev_level; // Revision level
     56        uint16_t mount_count; // Mount count
     57        uint16_t max_mount_count; // Maximal mount count
     58        uint16_t magic; // Magic signature
     59        uint16_t state; // File system state
     60        uint16_t errors; // Behaviour when detecting errors
     61        uint16_t minor_rev_level; // Minor revision level
     62        uint32_t last_check; // Time of last check
     63        uint32_t checkinterval; // Maximum time between checks
     64        uint32_t creator_os; // Creator OS
     65        uint32_t rev_level; // Revision level
    6666        uint16_t s_def_resuid; // Default uid for reserved blocks
    6767        uint16_t s_def_resgid; // Default gid for reserved blocks
     
    7171        uint16_t s_inode_size; // Size of inode structure
    7272        uint16_t s_block_group_nr; // Block group number of this superblock
    73         uint32_t s_feature_compat; // Compatible feature set
    74         uint32_t s_feature_incompat; // Incompatible feature set
    75         uint32_t s_feature_ro_compat; // Readonly-compatible feature set
     73        uint32_t features_compatible; // Compatible feature set
     74        uint32_t features_incompatible; // Incompatible feature set
     75        uint32_t features_read_only; // Readonly-compatible feature set
    7676        uint8_t s_uuid[16]; // 128-bit uuid for volume
    7777        char s_volume_name[16]; // Volume name
     
    122122        uint64_t s_snapshot_r_blocks_count; /* reserved blocks for active snapshot's future use */
    123123        uint32_t s_snapshot_list; // inode number of the head of the on-disk snapshot list
    124 
    125         //#define EXT4_S_ERR_START offsetof(struct ext4_super_block, s_error_count)
    126124        uint32_t s_error_count; // number of fs errors
    127125        uint32_t s_first_error_time; // First time an error happened
     
    135133        uint64_t s_last_error_block;     /* block involved of last error */
    136134        uint8_t s_last_error_func[32];  /* function where the error happened */
    137         //#define EXT4_S_ERR_END offsetof(struct ext4_super_block, s_mount_opts)
    138135        uint8_t s_mount_opts[64];
    139136        uint32_t s_reserved[112]; // Padding to the end of the block
     
    141138} __attribute__((packed)) ext4_superblock_t;
    142139
    143 // TODO constants
    144140#define EXT4_SUPERBLOCK_MAGIC           0xEF53
    145141#define EXT4_SUPERBLOCK_SIZE            1024
    146142#define EXT4_SUPERBLOCK_OFFSET          1024
    147143
     144extern uint16_t ext4_superblock_get_magic(ext4_superblock_t *);
     145extern uint32_t ext4_superblock_get_first_block(ext4_superblock_t *);
    148146extern uint32_t ext4_superblock_get_block_size_log2(ext4_superblock_t *);
    149147extern uint32_t ext4_superblock_get_block_size(ext4_superblock_t *);
     148extern uint32_t ext4_superblock_get_rev_level(ext4_superblock_t *);
     149extern uint32_t ext4_superblock_get_features_compatible(ext4_superblock_t *);
     150extern uint32_t ext4_superblock_get_features_incompatible(ext4_superblock_t *);
     151extern uint32_t ext4_superblock_get_features_read_only(ext4_superblock_t *);
    150152
    151153extern int ext4_superblock_read_direct(service_id_t, ext4_superblock_t **);
Note: See TracChangeset for help on using the changeset viewer.