62 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2#ifndef _UAPI_UVESAFB_H3#define _UAPI_UVESAFB_H4 5#include <linux/types.h>6 7struct v86_regs {8 __u32 ebx;9 __u32 ecx;10 __u32 edx;11 __u32 esi;12 __u32 edi;13 __u32 ebp;14 __u32 eax;15 __u32 eip;16 __u32 eflags;17 __u32 esp;18 __u16 cs;19 __u16 ss;20 __u16 es;21 __u16 ds;22 __u16 fs;23 __u16 gs;24};25 26/* Task flags */27#define TF_VBEIB 0x0128#define TF_BUF_ESDI 0x0229#define TF_BUF_ESBX 0x0430#define TF_BUF_RET 0x0831#define TF_EXIT 0x1032 33struct uvesafb_task {34 __u8 flags;35 int buf_len;36 struct v86_regs regs;37};38 39/* Constants for the capabilities field40 * in vbe_ib */41#define VBE_CAP_CAN_SWITCH_DAC 0x0142#define VBE_CAP_VGACOMPAT 0x0243 44/* The VBE Info Block */45struct vbe_ib {46 char vbe_signature[4];47 __u16 vbe_version;48 __u32 oem_string_ptr;49 __u32 capabilities;50 __u32 mode_list_ptr;51 __u16 total_memory;52 __u16 oem_software_rev;53 __u32 oem_vendor_name_ptr;54 __u32 oem_product_name_ptr;55 __u32 oem_product_rev_ptr;56 __u8 reserved[222];57 char oem_data[256];58 char misc_data[512];59} __attribute__ ((packed));60 61#endif /* _UAPI_UVESAFB_H */62