Max OS 0.3
Loading...
Searching...
No Matches
MaxOS::filesystem::format::ext2::Inode Struct Reference

The metadata for a file or directory in ext2. More...

#include <ext2.h>

Public Attributes

union { 
 
   uint16_t   type_permissions 
 The type and permissions of the inode. More...
 
   struct { 
 
      uint16_t   permissions: 12 
 The permissions of the inode. More...
 
      uint16_t   type: 4 
 The type of the inode. More...
 
   }  
 
};  
 
uint16_t user_id
 The ID of the user who owns the inode.
 
uint32_t size_lower
 The lower 32 bits of the size of the file in bytes.
 
uint32_t last_access_time
 The seconds (since the epoch) of the last access time.
 
uint32_t creation_time
 The seconds (since the epoch) of the time the inode was first allocated.
 
uint32_t last_modification_time
 The seconds (since the epoch) of the last time the inode was written to.
 
uint32_t deletion_time
 The seconds (since the epoch) of the time the inode was marked as not used.
 
uint16_t group_id
 The ID of the group who owns the inode.
 
uint16_t hard_links
 How many directory entries point to this inode.
 
uint32_t sectors_used
 How many 512 byte sectors are used by this inode (not blocks) (not including this struct or directory entries linked to it)
 
uint32_t flags
 Flags for the inode (see InodeFlags)
 
uint32_t os_1
 OS specific value (0 for Linux/HURD, 'transaltor' for Masix)
 
uint32_t block_pointers [12]
 Pointers to the blocks that store the file's data (0 marks unused)
 
uint32_t l1_indirect
 Pointer to a block that contains more block pointers (see block_pointers)
 
uint32_t l2_indirect
 Pointer to a block that contains more l1_indirect pointers.
 
uint32_t l3_indirect
 Pointer to a block that contains more l2_indirect pointers.
 
uint32_t generation
 File version (used by NFS)
 
uint32_t extended_attribute
 File extended attribute block (Access Control List)
 
uint32_t size_upper
 The upper 32 bits of the size of the file in bytes (for files larger than 4GB). If this is a directory, this is the Directory Access Control List.
 
uint32_t os_2 [3]
 Second OS specific value (see InodeOS2Linux, ...)
 

Detailed Description

The metadata for a file or directory in ext2.

Definition at line 173 of file ext2.h.

Member Data Documentation

◆ block_pointers

uint32_t MaxOS::filesystem::format::ext2::Inode::block_pointers[12]

Pointers to the blocks that store the file's data (0 marks unused)

Definition at line 192 of file ext2.h.

◆ creation_time

uint32_t MaxOS::filesystem::format::ext2::Inode::creation_time

The seconds (since the epoch) of the time the inode was first allocated.

Definition at line 184 of file ext2.h.

◆ deletion_time

uint32_t MaxOS::filesystem::format::ext2::Inode::deletion_time

The seconds (since the epoch) of the time the inode was marked as not used.

Definition at line 186 of file ext2.h.

◆ extended_attribute

uint32_t MaxOS::filesystem::format::ext2::Inode::extended_attribute

File extended attribute block (Access Control List)

Definition at line 197 of file ext2.h.

◆ flags

uint32_t MaxOS::filesystem::format::ext2::Inode::flags

Flags for the inode (see InodeFlags)

Definition at line 190 of file ext2.h.

◆ generation

uint32_t MaxOS::filesystem::format::ext2::Inode::generation

File version (used by NFS)

Definition at line 196 of file ext2.h.

◆ group_id

uint16_t MaxOS::filesystem::format::ext2::Inode::group_id

The ID of the group who owns the inode.

Definition at line 187 of file ext2.h.

◆ hard_links

uint16_t MaxOS::filesystem::format::ext2::Inode::hard_links

How many directory entries point to this inode.

Definition at line 188 of file ext2.h.

◆ l1_indirect

uint32_t MaxOS::filesystem::format::ext2::Inode::l1_indirect

Pointer to a block that contains more block pointers (see block_pointers)

Definition at line 193 of file ext2.h.

◆ l2_indirect

uint32_t MaxOS::filesystem::format::ext2::Inode::l2_indirect

Pointer to a block that contains more l1_indirect pointers.

Definition at line 194 of file ext2.h.

◆ l3_indirect

uint32_t MaxOS::filesystem::format::ext2::Inode::l3_indirect

Pointer to a block that contains more l2_indirect pointers.

Definition at line 195 of file ext2.h.

◆ last_access_time

uint32_t MaxOS::filesystem::format::ext2::Inode::last_access_time

The seconds (since the epoch) of the last access time.

Definition at line 183 of file ext2.h.

◆ last_modification_time

uint32_t MaxOS::filesystem::format::ext2::Inode::last_modification_time

The seconds (since the epoch) of the last time the inode was written to.

Definition at line 185 of file ext2.h.

◆ os_1

uint32_t MaxOS::filesystem::format::ext2::Inode::os_1

OS specific value (0 for Linux/HURD, 'transaltor' for Masix)

Definition at line 191 of file ext2.h.

◆ os_2

uint32_t MaxOS::filesystem::format::ext2::Inode::os_2[3]

Second OS specific value (see InodeOS2Linux, ...)

Definition at line 199 of file ext2.h.

◆ permissions

uint16_t MaxOS::filesystem::format::ext2::Inode::permissions

The permissions of the inode.

Definition at line 177 of file ext2.h.

◆ sectors_used

uint32_t MaxOS::filesystem::format::ext2::Inode::sectors_used

How many 512 byte sectors are used by this inode (not blocks) (not including this struct or directory entries linked to it)

Definition at line 189 of file ext2.h.

◆ size_lower

uint32_t MaxOS::filesystem::format::ext2::Inode::size_lower

The lower 32 bits of the size of the file in bytes.

Definition at line 182 of file ext2.h.

◆ size_upper

uint32_t MaxOS::filesystem::format::ext2::Inode::size_upper

The upper 32 bits of the size of the file in bytes (for files larger than 4GB). If this is a directory, this is the Directory Access Control List.

Definition at line 198 of file ext2.h.

◆ type

uint16_t MaxOS::filesystem::format::ext2::Inode::type

The type of the inode.

Definition at line 178 of file ext2.h.

◆ type_permissions

uint16_t MaxOS::filesystem::format::ext2::Inode::type_permissions

The type and permissions of the inode.

Definition at line 175 of file ext2.h.

◆ user_id

uint16_t MaxOS::filesystem::format::ext2::Inode::user_id

The ID of the user who owns the inode.

Definition at line 181 of file ext2.h.


The documentation for this struct was generated from the following file: