- uint8_t sig[4];
- uint16_t version;
- uint32_t oem_str_ptr;
- uint8_t caps[4]; /* capabilities */
- uint32_t vid_mode_ptr; /* vbefarptr to video mode list */
- uint16_t total_mem; /* num of 64k mem blocks */
- uint16_t oem_sw_rev; /* VBE implementation software revision */
- uint32_t oem_vendor_name_ptr;
- uint32_t oem_product_name_ptr;
- uint32_t oem_product_rev_ptr;
- uint8_t reserved[222];
- uint8_t oem_data[256];
-};
-
-struct vbe_mode_info {
- uint16_t mode_attr;
- uint8_t wina_attr, winb_attr;
- uint16_t win_gran, win_size;
- uint16_t wina_seg, winb_seg;
- uint32_t win_func;
- uint16_t scanline_bytes;
-
- /* VBE 1.2 and above */
- uint16_t xres, yres;
- uint8_t xcharsz, ycharsz;
- uint8_t num_planes;
- uint8_t bpp;
- uint8_t num_banks;
- uint8_t mem_model;
- uint8_t bank_size; /* bank size in KB */
- uint8_t num_img_pages;
- uint8_t reserved1;
-
- /* direct color fields */
- uint8_t rmask_size, rpos;
- uint8_t gmask_size, gpos;
- uint8_t bmask_size, bpos;
- uint8_t xmask_size, xpos;
- uint8_t cmode_info; /* direct color mode attributes */
-
- /* VBE 2.0 and above */
- uint32_t fb_addr; /* physical address of the linear framebuffer */
- uint32_t reserved2;
- uint16_t reserved3;
-
- uint8_t reserved4[206];
-};