#ifndef BOOT_COMPRESSED_EBOOT_H #define BOOT_COMPRESSED_EBOOT_H #define SEG_TYPE_DATA (0 << 3) #define SEG_TYPE_READ_WRITE (1 << 1) #define SEG_TYPE_CODE (1 << 3) #define SEG_TYPE_EXEC_READ (1 << 1) #define SEG_TYPE_TSS ((1 << 3) | (1 << 0)) #define SEG_OP_SIZE_32BIT (1 << 0) #define SEG_GRANULARITY_4KB (1 << 0) #define DESC_TYPE_CODE_DATA (1 << 0) #define EFI_CONSOLE_OUT_DEVICE_GUID \ EFI_GUID(0xd3b36f2c, 0xd551, 0x11d4, 0x9a, 0x46, 0x0, 0x90, 0x27, \ 0x3f, 0xc1, 0x4d) #define PIXEL_RGB_RESERVED_8BIT_PER_COLOR 0 #define PIXEL_BGR_RESERVED_8BIT_PER_COLOR 1 #define PIXEL_BIT_MASK 2 #define PIXEL_BLT_ONLY 3 #define PIXEL_FORMAT_MAX 4 struct efi_pixel_bitmask { u32 red_mask; u32 green_mask; u32 blue_mask; u32 reserved_mask; }; struct efi_graphics_output_mode_info { u32 version; u32 horizontal_resolution; u32 vertical_resolution; int pixel_format; struct efi_pixel_bitmask pixel_information; u32 pixels_per_scan_line; } __packed; struct efi_graphics_output_protocol_mode_32 { u32 max_mode; u32 mode; u32 info; u32 size_of_info; u64 frame_buffer_base; u32 frame_buffer_size; } __packed; struct efi_graphics_output_protocol_mode_64 { u32 max_mode; u32 mode; u64 info; u64 size_of_info; u64 frame_buffer_base; u64 frame_buffer_size; } __packed; struct efi_graphics_output_protocol_mode { u32 max_mode; u32 mode; unsigned long info; unsigned long size_of_info; u64 frame_buffer_base; unsigned long frame_buffer_size; } __packed; struct efi_graphics_output_protocol_32 { u32 query_mode; u32 set_mode; u32 blt; u32 mode; }; struct efi_graphics_output_protocol_64 { u64 query_mode; u64 set_mode; u64 blt; u64 mode; }; struct efi_graphics_output_protocol { void *query_mode; unsigned long set_mode; unsigned long blt; struct efi_graphics_output_protocol_mode *mode; }; struct efi_uga_draw_protocol_32 { u32 get_mode; u32 set_mode; u32 blt; }; struct efi_uga_draw_protocol_64 { u64 get_mode; u64 set_mode; u64 blt; }; struct efi_uga_draw_protocol { void *get_mode; void *set_mode; void *blt; }; #endif /* BOOT_COMPRESSED_EBOOT_H */