VERSION 5.00
Begin VB.Form Form14 
   Caption         =   " Linux Super Block Parameters"
   ClientHeight    =   6840
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   10470
   Icon            =   "ext4sbparams.frx":0000
   LinkTopic       =   "Form14"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   6840
   ScaleWidth      =   10470
   StartUpPosition =   3  'Windows Default
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   40
      Left            =   6960
      TabIndex        =   93
      Top             =   4200
      Width           =   2205
   End
   Begin VB.Label Label56 
      Caption         =   "Dev Num of Journal:"
      Height          =   255
      Left            =   5280
      TabIndex        =   69
      Top             =   4200
      Width           =   1605
   End
   Begin VB.Label Label31 
      Caption         =   "EXT3_FEATURE_COMPAT_HAS_JOURNAL is SET"
      Height          =   255
      Left            =   5280
      TabIndex        =   102
      Top             =   6480
      Width           =   5055
   End
   Begin VB.Label Label55 
      Caption         =   "First Inode:"
      Height          =   255
      Left            =   5280
      TabIndex        =   54
      Top             =   600
      Width           =   1605
   End
   Begin VB.Label Label54 
      Caption         =   "Size of Inode Struct:"
      Height          =   255
      Left            =   5280
      TabIndex        =   55
      Top             =   840
      Width           =   1605
   End
   Begin VB.Label Label53 
      Caption         =   "Super Block Grp Nr:"
      Height          =   255
      Left            =   5280
      TabIndex        =   56
      Top             =   1080
      Width           =   1605
   End
   Begin VB.Label Label52 
      Caption         =   "Compat Feature Set:"
      Height          =   255
      Left            =   5280
      TabIndex        =   57
      Top             =   1320
      Width           =   1605
   End
   Begin VB.Label Label51 
      Caption         =   "Incompat Feature Set:"
      Height          =   255
      Left            =   5280
      TabIndex        =   58
      Top             =   1560
      Width           =   1605
   End
   Begin VB.Label Label50 
      Caption         =   "Ro Comp Feature Set:"
      Height          =   255
      Left            =   5280
      TabIndex        =   59
      Top             =   1800
      Width           =   1605
   End
   Begin VB.Label Label49 
      Caption         =   "Uuid for Volume:"
      Height          =   255
      Left            =   5280
      TabIndex        =   60
      Top             =   2040
      Width           =   1605
   End
   Begin VB.Label Label48 
      Caption         =   "Volume Name:"
      Height          =   255
      Left            =   5280
      TabIndex        =   61
      Top             =   2280
      Width           =   1605
   End
   Begin VB.Label Label47 
      Caption         =   "Last Mounted Dir:"
      Height          =   255
      Left            =   5280
      TabIndex        =   62
      Top             =   2520
      Width           =   1605
   End
   Begin VB.Label Label46 
      Caption         =   "Algorit Usage Bitmap:"
      Height          =   255
      Left            =   5280
      TabIndex        =   63
      Top             =   2760
      Width           =   1605
   End
   Begin VB.Label Label45 
      Caption         =   "Prealloc Blocks:"
      Height          =   255
      Left            =   5280
      TabIndex        =   64
      Top             =   3000
      Width           =   1605
   End
   Begin VB.Label Label44 
      Caption         =   "Prealloc Dir Blocks:"
      Height          =   255
      Left            =   5280
      TabIndex        =   65
      Top             =   3240
      Width           =   1605
   End
   Begin VB.Label Label43 
      Caption         =   "Reservd Gdt Blocks:"
      Height          =   255
      Left            =   5280
      TabIndex        =   66
      Top             =   3480
      Width           =   1605
   End
   Begin VB.Label Label42 
      Caption         =   "Journal Sblock Uuid:"
      Height          =   255
      Left            =   5280
      TabIndex        =   67
      Top             =   3720
      Width           =   1605
   End
   Begin VB.Label Label41 
      Caption         =   "Inode of Journal:"
      Height          =   255
      Left            =   5280
      TabIndex        =   68
      Top             =   3960
      Width           =   1605
   End
   Begin VB.Label Label40 
      Caption         =   "Last Orphan:"
      Height          =   255
      Left            =   5280
      TabIndex        =   70
      Top             =   4440
      Width           =   1605
   End
   Begin VB.Label Label39 
      Caption         =   "Hash Seed:"
      Height          =   255
      Left            =   5280
      TabIndex        =   71
      Top             =   4680
      Width           =   1605
   End
   Begin VB.Label Label38 
      Caption         =   "Def Hash Version:"
      Height          =   255
      Left            =   5280
      TabIndex        =   72
      Top             =   4920
      Width           =   1635
   End
   Begin VB.Label Label37 
      Caption         =   "Reserved Char Pad:"
      Height          =   255
      Left            =   5280
      TabIndex        =   73
      Top             =   5160
      Width           =   1605
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   25
      Left            =   6960
      TabIndex        =   78
      Top             =   600
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   26
      Left            =   6960
      TabIndex        =   79
      Top             =   840
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   27
      Left            =   6960
      TabIndex        =   80
      Top             =   1080
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   28
      Left            =   6960
      TabIndex        =   81
      Top             =   1320
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   29
      Left            =   6960
      TabIndex        =   82
      Top             =   1560
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   30
      Left            =   6960
      TabIndex        =   83
      Top             =   1800
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   31
      Left            =   6960
      TabIndex        =   84
      Top             =   2040
      Width           =   3435
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   32
      Left            =   6960
      TabIndex        =   85
      Top             =   2280
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   33
      Left            =   6960
      TabIndex        =   86
      Top             =   2520
      Width           =   3405
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   34
      Left            =   6960
      TabIndex        =   87
      Top             =   2760
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   35
      Left            =   6960
      TabIndex        =   88
      Top             =   3000
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   36
      Left            =   6960
      TabIndex        =   89
      Top             =   3240
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   37
      Left            =   6960
      TabIndex        =   90
      Top             =   3480
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   38
      Left            =   6960
      TabIndex        =   91
      Top             =   3720
      Width           =   3405
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   39
      Left            =   6960
      TabIndex        =   92
      Top             =   3960
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   41
      Left            =   6960
      TabIndex        =   94
      Top             =   4440
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   42
      Left            =   6960
      TabIndex        =   95
      Top             =   4680
      Width           =   3405
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   43
      Left            =   6960
      TabIndex        =   96
      Top             =   4920
      Width           =   2565
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   44
      Left            =   6960
      TabIndex        =   97
      Top             =   5160
      Width           =   2205
   End
   Begin VB.Label Label36 
      Caption         =   "Grp Descriptor Size:"
      Height          =   255
      Left            =   5280
      TabIndex        =   74
      Top             =   5400
      Width           =   1605
   End
   Begin VB.Label Label35 
      Caption         =   "Default Mount Opts:"
      Height          =   255
      Left            =   5280
      TabIndex        =   75
      Top             =   5640
      Width           =   1605
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   45
      Left            =   6960
      TabIndex        =   98
      Top             =   5400
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   46
      Left            =   6960
      TabIndex        =   99
      Top             =   5640
      Width           =   2205
   End
   Begin VB.Label Label34 
      Caption         =   "First Meta Block Grp:"
      Height          =   255
      Left            =   5280
      TabIndex        =   76
      Top             =   5880
      Width           =   1605
   End
   Begin VB.Label Label33 
      Caption         =   "Mkfs Time:"
      Height          =   255
      Left            =   5280
      TabIndex        =   77
      Top             =   6120
      Width           =   1605
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   47
      Left            =   6960
      TabIndex        =   100
      Top             =   5880
      Width           =   2205
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   48
      Left            =   6960
      TabIndex        =   101
      Top             =   6120
      Width           =   3405
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   24
      Left            =   1920
      TabIndex        =   53
      Top             =   6360
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   23
      Left            =   1920
      TabIndex        =   52
      Top             =   6120
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   22
      Left            =   1920
      TabIndex        =   51
      Top             =   5880
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   21
      Left            =   1920
      TabIndex        =   50
      Top             =   5640
      Width           =   2200
   End
   Begin VB.Label Label9 
      Caption         =   "Def. Gid for Res. Blks:"
      Height          =   255
      Left            =   240
      TabIndex        =   28
      Top             =   6360
      Width           =   1605
   End
   Begin VB.Label Label30 
      Caption         =   "Def. Uid for Res. Blks:"
      Height          =   255
      Left            =   240
      TabIndex        =   27
      Top             =   6120
      Width           =   1605
   End
   Begin VB.Label Label29 
      Caption         =   "Revision Level:"
      Height          =   255
      Left            =   240
      TabIndex        =   26
      Top             =   5880
      Width           =   1605
   End
   Begin VB.Label Label28 
      Caption         =   "Operation System:"
      Height          =   255
      Left            =   240
      TabIndex        =   25
      Top             =   5640
      Width           =   1605
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   20
      Left            =   1920
      TabIndex        =   49
      Top             =   5400
      Width           =   3165
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   19
      Left            =   1920
      TabIndex        =   48
      Top             =   5160
      Width           =   3165
   End
   Begin VB.Label Label27 
      Caption         =   "Max. Time Btwn Chks:"
      Height          =   255
      Left            =   240
      TabIndex        =   24
      Top             =   5400
      Width           =   1605
   End
   Begin VB.Label Label26 
      Caption         =   "Time of Last Check:"
      Height          =   255
      Left            =   240
      TabIndex        =   23
      Top             =   5160
      Width           =   1605
   End
   Begin VB.Label Label25 
      Caption         =   "EXT2 (EXT3, EXT4)"
      Height          =   255
      Left            =   4320
      TabIndex        =   3
      Top             =   120
      Width           =   1455
   End
   Begin VB.Label Label24 
      Alignment       =   1  'Right Justify
      Caption         =   "File System Type:"
      Height          =   255
      Left            =   2880
      TabIndex        =   2
      Top             =   120
      Width           =   1335
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   18
      Left            =   1920
      TabIndex        =   47
      Top             =   4920
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   17
      Left            =   1920
      TabIndex        =   46
      Top             =   4680
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   16
      Left            =   1920
      TabIndex        =   45
      Top             =   4440
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   15
      Left            =   1920
      TabIndex        =   44
      Top             =   4200
      Width           =   2565
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   14
      Left            =   1920
      TabIndex        =   43
      Top             =   3960
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   13
      Left            =   1920
      TabIndex        =   42
      Top             =   3720
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   12
      Left            =   1920
      TabIndex        =   41
      Top             =   3480
      Width           =   3165
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   11
      Left            =   1920
      TabIndex        =   40
      Top             =   3240
      Width           =   3165
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   10
      Left            =   1920
      TabIndex        =   39
      Top             =   3000
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   9
      Left            =   1920
      TabIndex        =   38
      Top             =   2760
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   8
      Left            =   1920
      TabIndex        =   37
      Top             =   2520
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   7
      Left            =   1920
      TabIndex        =   36
      Top             =   2280
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   6
      Left            =   1920
      TabIndex        =   35
      Top             =   2040
      Width           =   3165
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   5
      Left            =   1920
      TabIndex        =   34
      Top             =   1800
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   4
      Left            =   1920
      TabIndex        =   33
      Top             =   1560
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   3
      Left            =   1920
      TabIndex        =   32
      Top             =   1320
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   2
      Left            =   1920
      TabIndex        =   31
      Top             =   1080
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   1
      Left            =   1920
      TabIndex        =   30
      Top             =   840
      Width           =   2200
   End
   Begin VB.Label Label23 
      Caption         =   "0"
      Height          =   255
      Index           =   0
      Left            =   1920
      TabIndex        =   29
      Top             =   600
      Width           =   2200
   End
   Begin VB.Label Label22 
      Caption         =   "PhysicalDrive0:"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   162
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   1080
      TabIndex        =   1
      Top             =   120
      Width           =   1695
   End
   Begin VB.Label Label21 
      Caption         =   "Minor Revision Level:"
      Height          =   255
      Left            =   240
      TabIndex        =   22
      Top             =   4920
      Width           =   1605
   End
   Begin VB.Label Label20 
      Caption         =   "Behaviour Detect Err:"
      Height          =   255
      Left            =   240
      TabIndex        =   21
      Top             =   4680
      Width           =   1635
   End
   Begin VB.Label Label19 
      Caption         =   "File System State:"
      Height          =   255
      Left            =   240
      TabIndex        =   20
      Top             =   4440
      Width           =   1605
   End
   Begin VB.Label Label18 
      Caption         =   "Magic Signature:"
      Height          =   255
      Left            =   240
      TabIndex        =   19
      Top             =   4200
      Width           =   1605
   End
   Begin VB.Label Label17 
      Caption         =   "Max. Mount Count:"
      Height          =   255
      Left            =   240
      TabIndex        =   18
      Top             =   3960
      Width           =   1605
   End
   Begin VB.Label Label16 
      Caption         =   "Mount Count:"
      Height          =   255
      Left            =   240
      TabIndex        =   17
      Top             =   3720
      Width           =   1605
   End
   Begin VB.Label Label15 
      Caption         =   "Write Time:"
      Height          =   255
      Left            =   240
      TabIndex        =   16
      Top             =   3480
      Width           =   1605
   End
   Begin VB.Label Label14 
      Caption         =   "Mount Time:"
      Height          =   255
      Left            =   240
      TabIndex        =   15
      Top             =   3240
      Width           =   1605
   End
   Begin VB.Label Label13 
      Caption         =   "Inodes Per Group:"
      Height          =   255
      Left            =   240
      TabIndex        =   14
      Top             =   3000
      Width           =   1605
   End
   Begin VB.Label Label12 
      Caption         =   "Obs Fragm Per Group:"
      Height          =   255
      Left            =   240
      TabIndex        =   13
      Top             =   2760
      Width           =   1605
   End
   Begin VB.Label Label11 
      Caption         =   "Blocks Per Group:"
      Height          =   255
      Left            =   240
      TabIndex        =   12
      Top             =   2520
      Width           =   1605
   End
   Begin VB.Label Label10 
      Caption         =   "Obsoleted Fragm Cnt:"
      Height          =   255
      Left            =   240
      TabIndex        =   11
      Top             =   2280
      Width           =   1605
   End
   Begin VB.Label Label8 
      Caption         =   "Block Size:"
      Height          =   255
      Left            =   240
      TabIndex        =   10
      Top             =   2040
      Width           =   1600
   End
   Begin VB.Label Label7 
      Caption         =   "First Data Block:"
      Height          =   255
      Left            =   240
      TabIndex        =   9
      Top             =   1800
      Width           =   1600
   End
   Begin VB.Label Label6 
      Caption         =   "Free Inodes Count:"
      Height          =   255
      Left            =   240
      TabIndex        =   8
      Top             =   1560
      Width           =   1600
   End
   Begin VB.Label Label5 
      Caption         =   "Free Blocks Count:"
      Height          =   255
      Left            =   240
      TabIndex        =   7
      Top             =   1320
      Width           =   1600
   End
   Begin VB.Label Label4 
      Caption         =   "Reserved Blocks Cnt:"
      Height          =   255
      Left            =   240
      TabIndex        =   6
      Top             =   1080
      Width           =   1600
   End
   Begin VB.Label Label3 
      Caption         =   "Blocks Count:"
      Height          =   255
      Left            =   240
      TabIndex        =   5
      Top             =   840
      Width           =   1600
   End
   Begin VB.Label Label2 
      Caption         =   "Inodes Count:"
      Height          =   255
      Left            =   240
      TabIndex        =   4
      Top             =   600
      Width           =   1600
   End
   Begin VB.Label Label1 
      Caption         =   "Drive"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   162
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   255
      Left            =   240
      TabIndex        =   0
      Top             =   120
      Width           =   735
   End
End
Attribute VB_Name = "Form14"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Const EXT3_FEATURE_COMPAT_HAS_JOURNAL = 4
Const EXT4_FEATURE_INCOMPAT_EXTENTS = 64

Dim TXT As String
Dim C As Integer

Rem /* Inodes count */
Dim s_inodes_count As Long
Rem /* Blocks count */
Dim s_blocks_count_lo As Long
Rem /* Reserved blocks count */
Dim s_r_blocks_count_lo As Long
Rem /* Free blocks count */
Dim s_free_blocks_count_lo As Long
Rem /* Free inodes count */
Dim s_free_inodes_count As Long
Rem /* First Data Block */
Dim s_first_data_block As Long
Rem /* Block size */
Dim s_log_block_size As Long
Rem /* Obsoleted fragment size */
Dim s_obso_log_frag_size As Long
Rem /* # Blocks per group */
Dim s_blocks_per_group As Long
Rem /* Obsoleted fragments per group */
Dim s_obso_frags_per_group As Long
Rem /* # Inodes per group */
Dim s_inodes_per_group As Long
Rem /* Mount time */
Dim s_mtime As Long
Rem /* Write time */
Dim s_wtime As Long
Rem /* Mount count */
Rem Dim s_mnt_count As Integer
Dim s_mnt_count As Long
Rem /* Maximal mount count */
Rem Dim s_max_mnt_count As Integer
Dim s_max_mnt_count As Long
Rem /* Magic signature */
Rem Dim s_magic As Integer
Dim s_magic As Long
Rem /* File system state */
Rem Dim s_state As Integer
Dim s_state As Long
Rem /* Behaviour when detecting errors */
Rem Dim s_errors As Integer
Dim s_errors As Long
Rem  /* minor revision level */
Rem Dim s_minor_rev_level As Integer
Dim s_minor_rev_level As Long
Rem /* time of last check */
Dim s_lastcheck As Long
Rem /* max. time between checks */
Dim s_checkinterval As Long
Rem /* OS */
Dim s_creator_os As Long
Rem /* Revision level */
Dim s_rev_level As Long
Rem /* Default uid for reserved blocks */
Rem Dim s_def_resuid As Integer
Dim s_def_resuid As Long
Rem /* Default gid for reserved blocks */
Rem Dim s_def_resgid As Integer
Dim s_def_resgid As Long
Dim S1 As Long
Dim S2 As Long
Dim S3 As Long
Dim S4 As Long
Rem /* First non-reserved inode */
Dim s_first_ino As Long
Rem /* size of inode structure */
Dim s_inode_size As Long
Rem /* block group # of this superblock */
Dim s_block_group_nr As Long
Rem /* compatible feature set */
Dim s_feature_compat As Long
Rem /* incompatible feature set */
Dim s_feature_incompat As Long
Rem /* readonly-compatible feature set */
Dim s_feature_ro_compat As Long
Rem /* 128-bit uuid for volume */
Dim s_uuid(1 To 16) As Byte
Rem /* volume name */
Dim s_volume_name(1 To 16) As Byte
Rem /* directory where last mounted */
Dim s_last_mounted(1 To 64) As Byte
Rem /* For compression */
Dim s_algorithm_usage_bitmap As Long
Rem /* Nr of blocks to try to preallocate*/
Dim s_prealloc_blocks As Byte
Rem /* Nr to preallocate for dirs */
Dim s_prealloc_dir_blocks
Rem /* Per group desc for online growth */
Dim s_reserved_gdt_blocks
Rem Journaling support valid if EXT3_FEATURE_COMPAT_HAS_JOURNAL set.
Rem /* uuid of journal superblock */
Dim s_journal_uuid(1 To 16) As Byte
Rem /* inode number of journal file */
Dim s_journal_inum As Long
Rem /* device number of journal file */
Dim s_journal_dev As Long
Rem /* start of list of inodes to delete */
Dim s_last_orphan As Long
Rem  /* HTREE hash seed */
Rem Dim s_hash_seed(1 To 4) As Long
Rem /* Default hash version to use */
Dim s_def_hash_version As Byte
Dim s_reserved_char_pad As Byte
Rem /* size of group descriptor */
Dim s_desc_size As Long
Dim s_default_mount_opts As Long
Rem /* First metablock block group */
Dim s_first_meta_bg As Long
Rem /* When the filesystem was created */
Dim s_mkfs_time As Long
Rem /* Backup of the journal inode */
Rem Dim s_jnl_blocks(1 To 17) As Long

'** Epoch, DateToEpoch, EpochToDate property get procedures by
'** C. Alexander (11/11/2002)
Public Property Get Epoch() As String
    Epoch = DateDiff("s", "00:00:00 1/1/1970", Now)
End Property

Public Property Get DateToEpoch(ByVal MyDate As Date) As String
    DateToEpoch = DateDiff("s", "00:00:00 1/1/1970", MyDate)
End Property

Public Property Get EpochToDate(ByVal MyEpoch As String) As Date
    EpochToDate = DateAdd("s", MyEpoch, "00:00:00 1/1/1970")
End Property

Private Sub Form_Load()
Label22.Caption = DRV
S1 = CLng(BSBuffer(0))
S2 = CLng(BSBuffer(1))
S3 = CLng(BSBuffer(2))
S4 = CLng(BSBuffer(3))
s_inodes_count = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(0).Caption = CStr(s_inodes_count)
S1 = CLng(BSBuffer(4))
S2 = CLng(BSBuffer(5))
S3 = CLng(BSBuffer(6))
S4 = CLng(BSBuffer(7))
s_blocks_count_lo = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(1).Caption = CStr(s_blocks_count_lo)
S1 = CLng(BSBuffer(8))
S2 = CLng(BSBuffer(9))
S3 = CLng(BSBuffer(10))
S4 = CLng(BSBuffer(11))
s_r_blocks_count_lo = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(2).Caption = CStr(s_r_blocks_count_lo)
S1 = CLng(BSBuffer(12))
S2 = CLng(BSBuffer(13))
S3 = CLng(BSBuffer(14))
S4 = CLng(BSBuffer(15))
s_free_blocks_count_lo = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(3).Caption = CStr(s_free_blocks_count_lo)
S1 = CLng(BSBuffer(16))
S2 = CLng(BSBuffer(17))
S3 = CLng(BSBuffer(18))
S4 = CLng(BSBuffer(19))
s_free_inodes_count = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(4).Caption = CStr(s_free_inodes_count)
S1 = CLng(BSBuffer(20))
S2 = CLng(BSBuffer(21))
S3 = CLng(BSBuffer(22))
S4 = CLng(BSBuffer(23))
s_first_data_block = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(5).Caption = CStr(s_first_data_block)
S1 = CLng(BSBuffer(24))
S2 = CLng(BSBuffer(25))
S3 = CLng(BSBuffer(26))
S4 = CLng(BSBuffer(27))
s_log_block_size = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(6).Caption = CStr(s_log_block_size) + "   [ (2^" + CStr(s_log_block_size) + ") * 1024 = " + CStr((2 ^ s_log_block_size) * 1024) + " bytes ]"
S1 = CLng(BSBuffer(28))
S2 = CLng(BSBuffer(29))
S3 = CLng(BSBuffer(30))
S4 = CLng(BSBuffer(31))
s_obso_log_frag_size = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(7).Caption = CStr(s_obso_log_frag_size)
S1 = CLng(BSBuffer(32))
S2 = CLng(BSBuffer(33))
S3 = CLng(BSBuffer(34))
S4 = CLng(BSBuffer(35))
s_obso_log_frag_size = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(8).Caption = CStr(s_obso_log_frag_size)
S1 = CLng(BSBuffer(36))
S2 = CLng(BSBuffer(37))
S3 = CLng(BSBuffer(38))
S4 = CLng(BSBuffer(39))
s_obso_frags_per_group = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(9).Caption = CStr(s_obso_frags_per_group)
S1 = CLng(BSBuffer(40))
S2 = CLng(BSBuffer(41))
S3 = CLng(BSBuffer(42))
S4 = CLng(BSBuffer(43))
s_inodes_per_group = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(10).Caption = CStr(s_inodes_per_group)
S1 = CLng(BSBuffer(44))
S2 = CLng(BSBuffer(45))
S3 = CLng(BSBuffer(46))
S4 = CLng(BSBuffer(47))
s_mtime = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(11).Caption = CStr(s_mtime) + "   [ " + CStr(EpochToDate(CStr(s_mtime))) + " ]"
S1 = CLng(BSBuffer(48))
S2 = CLng(BSBuffer(49))
S3 = CLng(BSBuffer(50))
S4 = CLng(BSBuffer(51))
s_wtime = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(12).Caption = CStr(s_wtime) + "   [ " + CStr(EpochToDate(CStr(s_wtime))) + " ]"
s_mnt_count = CLng(BSBuffer(53) * 256)
s_mnt_count = s_mnt_count + BSBuffer(52)
Label23(13).Caption = CStr(s_mnt_count)
s_max_mnt_count = CLng(BSBuffer(55))
s_max_mnt_count = (s_max_mnt_count * 256) + BSBuffer(54)
Label23(14).Caption = CStr(s_max_mnt_count)
If s_max_mnt_count = 65535 Then
   Label23(14).Caption = CStr(s_max_mnt_count) + "   [ -1 ]"
End If
s_magic = CLng(BSBuffer(57))
s_magic = (s_magic * 256) + BSBuffer(56)
Label23(15).Caption = CStr(s_magic) + "   [ " + Hex(s_magic) + " h ]"
s_state = CLng(BSBuffer(59) * 256)
s_state = s_state + BSBuffer(58)
Label23(16).Caption = CStr(s_state)
If s_state = 1 Then Label23(16).Caption = CStr(s_state) + "   [ Clean ]"
s_errors = CLng(BSBuffer(61) * 256)
s_errors = s_errors + BSBuffer(60)
Label23(17).Caption = CStr(s_errors)
Select Case s_errors
       Case 1
       Label23(17).Caption = Label23(17).Caption + "   [ Continue ]"
       Case 2
       Label23(17).Caption = Label23(17).Caption + "   [ Remount RO ]"
       Case 3
       Label23(17).Caption = Label23(17).Caption + "   [ Panic ]"
End Select
s_minor_rev_level = CLng(BSBuffer(63) * 256)
s_minor_rev_level = s_minor_rev_level + BSBuffer(62)
Label23(18).Caption = CStr(s_minor_rev_level)
S1 = CLng(BSBuffer(64))
S2 = CLng(BSBuffer(65))
S3 = CLng(BSBuffer(66))
S4 = CLng(BSBuffer(67))
s_lastcheck = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(19).Caption = CStr(s_lastcheck) + "   [ " + CStr(EpochToDate(CStr(s_wtime))) + " ]"
S1 = CLng(BSBuffer(68))
S2 = CLng(BSBuffer(69))
S3 = CLng(BSBuffer(70))
S4 = CLng(BSBuffer(71))
s_checkinterval = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(20).Caption = CStr(s_checkinterval) + "   [ " + CStr(s_checkinterval / 3600) + " hours or " + CStr(s_checkinterval / 86400) + " days ]"
S1 = CLng(BSBuffer(72))
S2 = CLng(BSBuffer(73))
S3 = CLng(BSBuffer(74))
S4 = CLng(BSBuffer(75))
s_creator_os = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(21).Caption = CStr(s_creator_os)
Select Case s_creator_os
       Case 0
            Label23(21).Caption = Label23(21).Caption + "   [ Linux ]"
       Case 1
            Label23(21).Caption = Label23(21).Caption + "   [ Hurd ]"
       Case 2
            Label23(21).Caption = Label23(21).Caption + "   [ Masix ]"
       Case 3
            Label23(21).Caption = Label23(21).Caption + "   [ Free BSD ]"
       Case 4
            Label23(21).Caption = Label23(21).Caption + "   [ Lites ]"
End Select
S1 = CLng(BSBuffer(76))
S2 = CLng(BSBuffer(77))
S3 = CLng(BSBuffer(78))
S4 = CLng(BSBuffer(79))
s_rev_level = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(22).Caption = CStr(s_rev_level)
If s_rev_level = 1 Then Label23(22).Caption = Label23(22).Caption + "   [ Dynamic ]"
s_def_resuid = CLng(BSBuffer(81) * 256)
s_def_resuid = s_def_resuid + BSBuffer(80)
Label23(23).Caption = CStr(s_def_resuid)
s_def_resgid = CLng(BSBuffer(83) * 256)
s_def_resgid = s_def_resgid + BSBuffer(82)
Label23(24).Caption = CStr(s_def_resgid)
S1 = CLng(BSBuffer(84))
S2 = CLng(BSBuffer(85))
S3 = CLng(BSBuffer(86))
S4 = CLng(BSBuffer(87))
s_first_ino = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(25).Caption = CStr(s_first_ino)
s_inode_size = CLng(BSBuffer(89) * 256)
s_inode_size = s_inode_size + BSBuffer(88)
Label23(26).Caption = CStr(s_inode_size)
s_block_group_nr = CLng(BSBuffer(91) * 256)
s_block_group_nr = s_block_group_nr + BSBuffer(90)
Label23(27).Caption = CStr(s_block_group_nr)
S1 = CLng(BSBuffer(92))
S2 = CLng(BSBuffer(93))
S3 = CLng(BSBuffer(94))
S4 = CLng(BSBuffer(95))
s_feature_compat = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
TXT = Hex(s_feature_compat)
If Len(TXT) < 2 Then
   TXT = "0" + TXT
End If
TXT = TXT + " h"
Label23(28).Caption = CStr(s_feature_compat) + "   [ " + TXT + " ]"
S1 = CLng(BSBuffer(96))
S2 = CLng(BSBuffer(97))
S3 = CLng(BSBuffer(98))
S4 = CLng(BSBuffer(99))
s_feature_incompat = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
TXT = Hex(s_feature_incompat)
If Len(TXT) < 2 Then
   TXT = "0" + TXT
End If
TXT = TXT + " h"
Label23(29).Caption = CStr(s_feature_incompat) + "   [ " + TXT + " ]"
If (s_feature_compat Or EXT3_FEATURE_COMPAT_HAS_JOURNAL) <> s_feature_compat Then
   Label25.Caption = "EXT2"
   Label31.Caption = "EXT3_FEATURE_COMPAT_HAS_JOURNAL is not SET"
Else
   If s_feature_incompat >= EXT4_FEATURE_INCOMPAT_EXTENTS Then
      Label25.Caption = "EXT4"
   Else
      Label25.Caption = "EXT3"
   End If
End If
S1 = CLng(BSBuffer(100))
S2 = CLng(BSBuffer(101))
S3 = CLng(BSBuffer(102))
S4 = CLng(BSBuffer(103))
s_feature_ro_compat = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
TXT = Hex(s_feature_ro_compat)
If Len(TXT) < 2 Then
   TXT = "0" + TXT
End If
TXT = TXT + " h"
Label23(30).Caption = CStr(s_feature_ro_compat) + "   [ " + TXT + " ]"
TXT = ""
Label23(31).Caption = ""
For C = 1 To 16
    s_uuid(C) = BSBuffer(103 + C)
    TXT = Hex(s_uuid(C))
    If Len(TXT) < 2 Then
       TXT = "0" + TXT
    End If
    If C = 5 Or C = 7 Or C = 9 Or C = 11 Then
       Label23(31).Caption = Label23(31).Caption + "-" + TXT
    Else
       Label23(31).Caption = Label23(31).Caption + TXT
    End If
Next C
TXT = ""
Label23(32).Caption = ""
For C = 1 To 16
    s_volume_name(C) = BSBuffer(119 + C)
    TXT = TXT + Chr$(s_volume_name(C))
Next C
Label23(32).Caption = TXT
TXT = ""
Label23(33).Caption = ""
For C = 1 To 64
    s_last_mounted(C) = BSBuffer(135 + C)
    If s_last_mounted(C) = 0 Then Exit For
    TXT = TXT + Chr$(s_last_mounted(C))
Next C
If TXT <> "" Then
   Label23(33).Caption = TXT
Else
   Label23(33).Caption = "< not available >  [ / ]"
End If
S1 = CLng(BSBuffer(200))
S2 = CLng(BSBuffer(201))
S3 = CLng(BSBuffer(202))
S4 = CLng(BSBuffer(203))
s_algorithm_usage_bitmap = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(34).Caption = CStr(s_algorithm_usage_bitmap)
s_prealloc_blocks = BSBuffer(204)
Label23(35).Caption = CStr(s_prealloc_blocks)
s_prealloc_dir_blocks = BSBuffer(205)
Label23(36).Caption = CStr(s_prealloc_dir_blocks)
s_reserved_gdt_blocks = CLng(BSBuffer(207) * 256)
s_reserved_gdt_blocks = s_reserved_gdt_blocks + BSBuffer(206)
Label23(37).Caption = CStr(s_reserved_gdt_blocks)
Label23(38).Caption = ""
For C = 1 To 16
    s_journal_uuid(C) = BSBuffer(207 + C)
    TXT = Hex(s_journal_uuid(C))
    If Len(TXT) < 2 Then
       TXT = "0" + TXT
    End If
    If C = 5 Or C = 7 Or C = 9 Or C = 11 Then
       Label23(38).Caption = Label23(38).Caption + "-" + TXT
    Else
       Label23(38).Caption = Label23(38).Caption + TXT
    End If
Next C
S1 = CLng(BSBuffer(224))
S2 = CLng(BSBuffer(225))
S3 = CLng(BSBuffer(226))
S4 = CLng(BSBuffer(227))
s_journal_inum = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(39).Caption = CStr(s_journal_inum)
S1 = CLng(BSBuffer(228))
S2 = CLng(BSBuffer(229))
S3 = CLng(BSBuffer(230))
S4 = CLng(BSBuffer(231))
s_journal_dev = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(40).Caption = CStr(s_journal_dev)
S1 = CLng(BSBuffer(232))
S2 = CLng(BSBuffer(233))
S3 = CLng(BSBuffer(234))
S4 = CLng(BSBuffer(235))
s_last_orphan = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(41).Caption = CStr(s_last_orphan)
Label23(42).Caption = ""
For C = 1 To 16
    TXT = Hex(BSBuffer(235 + C))
    If Len(TXT) < 2 Then TXT = "0" + TXT
    If C = 5 Or C = 7 Or C = 9 Or C = 11 Then
       Label23(42).Caption = Label23(42).Caption + "-" + TXT
    Else
       Label23(42).Caption = Label23(42).Caption + TXT
    End If
Next C
s_def_hash_version = BSBuffer(252)
Label23(43).Caption = CStr(s_def_hash_version)
Select Case s_def_hash_version
       Case 0
       Label23(43).Caption = Label23(43).Caption + "   [ DX_HASH_LEGACY ]"
       Case 1
       Label23(43).Caption = Label23(43).Caption + "   [ DX_HASH_HAF_MD4 ]"
       Case 2
       Label23(43).Caption = Label23(43).Caption + "   [ DX_HASH_TEA ]"
End Select
s_reserved_char_pad = BSBuffer(253)
Label23(44).Caption = CStr(s_reserved_char_pad)
s_desc_size = CLng(BSBuffer(255) * 256)
s_desc_size = s_desc_size + BSBuffer(254)
Label23(45).Caption = CStr(s_desc_size)
S1 = CLng(BSBuffer(256))
S2 = CLng(BSBuffer(257))
S3 = CLng(BSBuffer(258))
S4 = CLng(BSBuffer(259))
s_default_mount_opts = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(46).Caption = CStr(s_default_mount_opts)
S1 = CLng(BSBuffer(260))
S2 = CLng(BSBuffer(261))
S3 = CLng(BSBuffer(262))
S4 = CLng(BSBuffer(263))
s_first_meta_bg = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
Label23(47).Caption = CStr(s_first_meta_bg)
S1 = CLng(BSBuffer(264))
S2 = CLng(BSBuffer(265))
S3 = CLng(BSBuffer(266))
S4 = CLng(BSBuffer(267))
s_mkfs_time = CLng((S4 * 16777216) + (S3 * 65536) + (S2 * 256) + S1)
If s_mkfs_time > 0 Then
   Label23(48).Caption = CStr(s_mkfs_time) + "   [ " + CStr(EpochToDate(CStr(s_mkfs_time))) + " ]"
Rem Else
   Rem Label23(48).Caption="0"
End If
End Sub
