Skip to content
Snippets Groups Projects
vbe.rs 1.19 KiB
Newer Older
Jeremy Soller's avatar
Jeremy Soller committed
#[derive(Clone, Copy, Debug)]
#[repr(packed)]
pub struct VbeCardInfo {
	pub signature: [u8; 4],
	pub version: u16,
	pub oemstring: u32,
	pub capabilities: u32,
	pub videomodeptr: u32,
	pub totalmemory: u16,
	pub oemsoftwarerev: u16,
	pub oemvendornameptr: u32,
	pub oemproductnameptr: u32,
	pub oemproductrevptr: u32,
	pub reserved: [u8; 222],
	pub oemdata: [u8; 256],
}

#[derive(Clone, Copy, Debug)]
#[repr(packed)]
pub struct VbeModeInfo {
	pub attributes: u16,
	pub win_a: u8,
	pub win_b: u8,
	pub granularity: u16,
	pub winsize: u16,
	pub segment_a: u16,
	pub segment_b: u16,
	pub winfuncptr: u32,
	pub bytesperscanline: u16,
	pub xresolution: u16,
	pub yresolution: u16,
	pub xcharsize: u8,
	pub ycharsize: u8,
	pub numberofplanes: u8,
	pub bitsperpixel: u8,
	pub numberofbanks: u8,
	pub memorymodel: u8,
	pub banksize: u8,
	pub numberofimagepages: u8,
	pub unused: u8,
	pub redmasksize: u8,
	pub redfieldposition: u8,
	pub greenmasksize: u8,
	pub greenfieldposition: u8,
	pub bluemasksize: u8,
	pub bluefieldposition: u8,
	pub rsvdmasksize: u8,
	pub rsvdfieldposition: u8,
	pub directcolormodeinfo: u8,
	pub physbaseptr: u32,
	pub offscreenmemoryoffset: u32,
	pub offscreenmemsize: u16,
	pub reserved: [u8; 206],
}