<commit_before>use core::fmt;

#[derive(Debug, Copy, Clone)]
#[repr(C, packed)]
pub struct VBEInfoTag {
    typ: u32,
    length: u32,
    pub mode: u16,
    pub interface_segment: u16,
    pub interface_offset: u16,
    pub interface_length: u16,
    pub control_info: VBEControlInfo,
    pub mode_info: VBEModeInfo
}

#[derive(Copy, Clone)]
#[repr(C, packed)]
pub struct VBEControlInfo {
    pub signature: [u8; 4],
    pub version: u16,
    pub oem_string_ptr: u32,
    pub capabilities: VBECapabilities,
    pub mode_list_ptr: u32,
    pub total_memory: u16, // Measured in 64kb blocks.
    pub oem_software_revision: u16,  
    pub oem_vendor_name_ptr: u32,
    pub oem_product_name_ptr: u32,
    pub oem_product_revision_ptr: u32,
    reserved: [u8; 222],
    oem_data: [u8; 256]
}

impl fmt::Debug for VBEControlInfo {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        unsafe {
            f.debug_struct("VBEControlInfo")
             .field("signature", &self.signature)
             .field("oem_string_ptr", &self.oem_string_ptr)
             .field("capabilities", &self.capabilities)
             .field("mode_list_ptr", &self.mode_list_ptr)
             .field("total_memory", &self.total_memory)<commit_msg>Added missing version field.<commit_after>use core::fmt;

#[derive(Debug, Copy, Clone)]
#[repr(C, packed)]
pub struct VBEInfoTag {
    typ: u32,
    length: u32,
    pub mode: u16,
    pub interface_segment: u16,
    pub interface_offset: u16,
    pub interface_length: u16,
    pub control_info: VBEControlInfo,
    pub mode_info: VBEModeInfo
}

#[derive(Copy, Clone)]
#[repr(C, packed)]
pub struct VBEControlInfo {
    pub signature: [u8; 4],
    pub version: u16,
    pub oem_string_ptr: u32,
    pub capabilities: VBECapabilities,
    pub mode_list_ptr: u32,
    pub total_memory: u16, // Measured in 64kb blocks.
    pub oem_software_revision: u16,  
    pub oem_vendor_name_ptr: u32,
    pub oem_product_name_ptr: u32,
    pub oem_product_revision_ptr: u32,
    reserved: [u8; 222],
    oem_data: [u8; 256]
}

impl fmt::Debug for VBEControlInfo {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        unsafe {
            f.debug_struct("VBEControlInfo")
             .field("signature", &self.signature)
             .field("version", &self.version)
             .field("oem_string_ptr", &self.oem_string_ptr)
             .field("capabilities", &self.capabilities)
             .field("mode_list_ptr", &self.mode_list_ptr)
             .field("total_memory", &self.total_memory)
{'fraction_non_alphanumeric': 0.1194324004729996, 'fraction_numerical': 0.031533307055577456, 'mean_word_length': 3.0935483870967744, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2706540', 'n_tokens_mistral': 940, 'n_tokens_neox': 900, 'n_words': 208}