171
169
grub_uint8_t alignment;
172
170
} __attribute__ ((packed));
174
/* Prototypes for kernel real mode thunks. */
172
/* Prototypes for helper functions. */
176
173
/* Call VESA BIOS 0x4f00 to get VBE Controller Information, return status. */
177
grub_vbe_status_t grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *controller_info);
175
grub_vbe_bios_get_controller_info (struct grub_vbe_info_block *controller_info);
179
176
/* Call VESA BIOS 0x4f01 to get VBE Mode Information, return status. */
180
grub_vbe_status_t grub_vbe_bios_get_mode_info (grub_uint32_t mode,
181
struct grub_vbe_mode_info_block *mode_info);
183
grub_vbe_status_t grub_vbe_bios_getset_dac_palette_width (int set, int *width);
185
#define grub_vbe_bios_get_dac_palette_width(width) grub_vbe_bios_getset_dac_palette_width(0, (width))
186
#define grub_vbe_bios_set_dac_palette_width(width) grub_vbe_bios_getset_dac_palette_width(1, (width))
188
/* Call VESA BIOS 0x4f02 to set video mode, return status. */
189
grub_vbe_status_t grub_vbe_bios_set_mode (grub_uint32_t mode,
190
struct grub_vbe_crtc_info_block *crtc_info);
178
grub_vbe_bios_get_mode_info (grub_uint32_t mode,
179
struct grub_vbe_mode_info_block *mode_info);
192
180
/* Call VESA BIOS 0x4f03 to return current VBE Mode, return status. */
193
grub_vbe_status_t grub_vbe_bios_get_mode (grub_uint32_t *mode);
182
grub_vbe_bios_get_mode (grub_uint32_t *mode);
195
183
/* Call VESA BIOS 0x4f05 to set memory window, return status. */
196
grub_vbe_status_t grub_vbe_bios_set_memory_window (grub_uint32_t window,
197
grub_uint32_t position);
185
grub_vbe_bios_set_memory_window (grub_uint32_t window, grub_uint32_t position);
199
186
/* Call VESA BIOS 0x4f05 to return memory window, return status. */
200
grub_vbe_status_t grub_vbe_bios_get_memory_window (grub_uint32_t window,
201
grub_uint32_t *position);
188
grub_vbe_bios_get_memory_window (grub_uint32_t window,
189
grub_uint32_t *position);
203
190
/* Call VESA BIOS 0x4f06 to set scanline length (in bytes), return status. */
204
grub_vbe_status_t grub_vbe_bios_set_scanline_length (grub_uint32_t length);
192
grub_vbe_bios_set_scanline_length (grub_uint32_t length);
206
193
/* Call VESA BIOS 0x4f06 to return scanline length (in bytes), return status. */
207
grub_vbe_status_t grub_vbe_bios_get_scanline_length (grub_uint32_t *length);
209
/* Call VESA BIOS 0x4f07 to set display start, return status. */
210
grub_vbe_status_t grub_vbe_bios_set_display_start (grub_uint32_t x,
195
grub_vbe_bios_get_scanline_length (grub_uint32_t *length);
213
196
/* Call VESA BIOS 0x4f07 to get display start, return status. */
214
grub_vbe_status_t grub_vbe_bios_get_display_start (grub_uint32_t *x,
217
/* Call VESA BIOS 0x4f09 to set palette data, return status. */
218
grub_vbe_status_t grub_vbe_bios_set_palette_data (grub_uint32_t color_count,
219
grub_uint32_t start_index,
220
struct grub_vbe_palette_data *palette_data);
222
/* Prototypes for helper functions. */
198
grub_vbe_bios_get_display_start (grub_uint32_t *x,
201
grub_vbe_status_t grub_vbe_bios_getset_dac_palette_width (int set, int *width);
203
#define grub_vbe_bios_get_dac_palette_width(width) grub_vbe_bios_getset_dac_palette_width(0, (width))
204
#define grub_vbe_bios_set_dac_palette_width(width) grub_vbe_bios_getset_dac_palette_width(1, (width))
224
206
grub_err_t grub_vbe_probe (struct grub_vbe_info_block *info_block);
225
207
grub_err_t grub_vbe_set_video_mode (grub_uint32_t mode,