Video driver ids.
* include/grub/video.h (grub_video_driver_id): New type.
(grub_video_adapter): New member 'id'. All users updated.
(grub_video_get_driver_id): New proto.
* video/video.c (grub_video_get_driver_id): New function.
+2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Video driver ids.
+
+ * include/grub/video.h (grub_video_driver_id): New type.
+ (grub_video_adapter): New member 'id'. All users updated.
+ (grub_video_get_driver_id): New proto.
+ * video/video.c (grub_video_get_driver_id): New function.
+
2010-01-14 Carles Pina i Estany <carles@pina.cat>
* util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
grub_uint8_t a; /* Reserved bits value (0-255). */
};
+typedef enum grub_video_driver_id
+ {
+ GRUB_VIDEO_DRIVER_NONE,
+ GRUB_VIDEO_DRIVER_VBE,
+ GRUB_VIDEO_DRIVER_EFI_UGA,
+ GRUB_VIDEO_DRIVER_EFI_GOP
+ } grub_video_driver_id_t;
+
struct grub_video_adapter
{
/* The video adapter name. */
const char *name;
+ grub_video_driver_id_t id;
/* Initialize the video adapter. */
grub_err_t (*init) (void);
int NESTED_FUNC_ATTR (*hook) (grub_video_adapter_t p,
struct grub_video_mode_info *mode_info));
+grub_video_driver_id_t
+grub_video_get_driver_id (void);
+
#endif /* ! GRUB_VIDEO_HEADER */
static struct grub_video_adapter grub_video_gop_adapter =
{
.name = "EFI GOP driver",
+ .id = GRUB_VIDEO_DRIVER_EFI_GOP,
.init = grub_video_gop_init,
.fini = grub_video_gop_fini,
static struct grub_video_adapter grub_video_uga_adapter =
{
.name = "EFI UGA driver",
+ .id = GRUB_VIDEO_DRIVER_EFI_UGA,
.init = grub_video_uga_init,
.fini = grub_video_uga_fini,
static struct grub_video_adapter grub_video_vbe_adapter =
{
.name = "VESA BIOS Extension Video Driver",
+ .id = GRUB_VIDEO_DRIVER_VBE,
.init = grub_video_vbe_init,
.fini = grub_video_vbe_fini,
return grub_video_adapter_active->get_info (mode_info);
}
+grub_video_driver_id_t
+grub_video_get_driver_id (void)
+{
+ if (! grub_video_adapter_active)
+ return GRUB_VIDEO_DRIVER_NONE;
+ return grub_video_adapter_active->id;
+}
+
/* Get information about active video mode. */
grub_err_t
grub_video_get_info_and_fini (struct grub_video_mode_info *mode_info,