Upgraded GRUB2 to 2.00 release.
[AROS.git] / arch / all-pc / boot / grub2-aros / include / grub / efi / uga_draw.h
bloba31f2672e31729fbf97e6c1ae32ebc3e8c6cfd8f
1 /* uga_draw.h - definitions of the uga draw protocol */
2 /*
3 * GRUB -- GRand Unified Bootloader
4 * Copyright (C) 2008 Free Software Foundation, Inc.
6 * GRUB is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * GRUB is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
20 /* The console control protocol is not a part of the EFI spec,
21 but defined in Intel's Sample Implementation. */
23 #ifndef GRUB_EFI_UGA_DRAW_HEADER
24 #define GRUB_EFI_UGA_DRAW_HEADER 1
26 #define GRUB_EFI_UGA_DRAW_GUID \
27 { 0x982c298b, 0xf4fa, 0x41cb, { 0xb8, 0x38, 0x77, 0xaa, 0x68, 0x8f, 0xb8, 0x39 }}
29 enum grub_efi_uga_blt_operation
31 GRUB_EFI_UGA_VIDEO_FILL,
32 GRUB_EFI_UGA_VIDEO_TO_BLT,
33 GRUB_EFI_UGA_BLT_TO_VIDEO,
34 GRUB_EFI_UGA_VIDEO_TO_VIDEO,
35 GRUB_EFI_UGA_BLT_MAX
38 struct grub_efi_uga_pixel
40 grub_uint8_t Blue;
41 grub_uint8_t Green;
42 grub_uint8_t Red;
43 grub_uint8_t Reserved;
46 struct grub_efi_uga_draw_protocol
48 grub_efi_status_t
49 (*get_mode) (struct grub_efi_uga_draw_protocol *this,
50 grub_uint32_t *width,
51 grub_uint32_t *height,
52 grub_uint32_t *depth,
53 grub_uint32_t *refresh_rate);
55 grub_efi_status_t
56 (*set_mode) (struct grub_efi_uga_draw_protocol *this,
57 grub_uint32_t width,
58 grub_uint32_t height,
59 grub_uint32_t depth,
60 grub_uint32_t refresh_rate);
62 grub_efi_status_t
63 (*blt) (struct grub_efi_uga_draw_protocol *this,
64 struct grub_efi_uga_pixel *blt_buffer,
65 enum grub_efi_uga_blt_operation blt_operation,
66 grub_efi_uintn_t src_x,
67 grub_efi_uintn_t src_y,
68 grub_efi_uintn_t dest_x,
69 grub_efi_uintn_t dest_y,
70 grub_efi_uintn_t width,
71 grub_efi_uintn_t height,
72 grub_efi_uintn_t delta);
74 typedef struct grub_efi_uga_draw_protocol grub_efi_uga_draw_protocol_t;
76 #endif /* ! GRUB_EFI_UGA_DRAW_HEADER */