aboutsummaryrefslogtreecommitdiffstats
path: root/vbe.c
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2005-04-05 14:44:50 +0000
committerPascal Rigaux <pixel@mandriva.com>2005-04-05 14:44:50 +0000
commit10d709eafef262fd3c26f5359f1fcc89faff97c0 (patch)
tree8de8e73e97f27fc7bc359a9fdd8503969a97406f /vbe.c
parent0c38b4dc58359255816f2b2c27e385c12019b27f (diff)
downloadmonitor-edid-10d709eafef262fd3c26f5359f1fcc89faff97c0.tar
monitor-edid-10d709eafef262fd3c26f5359f1fcc89faff97c0.tar.gz
monitor-edid-10d709eafef262fd3c26f5359f1fcc89faff97c0.tar.bz2
monitor-edid-10d709eafef262fd3c26f5359f1fcc89faff97c0.tar.xz
monitor-edid-10d709eafef262fd3c26f5359f1fcc89faff97c0.zip
create parse_vbe_info() (for next commit)
Diffstat (limited to 'vbe.c')
-rw-r--r--vbe.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/vbe.c b/vbe.c
index 8258326..1ac5cab 100644
--- a/vbe.c
+++ b/vbe.c
@@ -94,6 +94,24 @@ static char *get_str(unsigned char *buf, unsigned buf_size, char *v)
#define GET_WORD(ADDR, OFS) ((ADDR)[OFS] + ((ADDR)[(OFS) + 1] << 8))
+static void parse_vbe_info(unsigned char *v)
+{
+ unsigned char tmp[1024];
+
+ /* Parse VBE block */
+ int version = GET_WORD(v, 0x04);
+ int oem_version = GET_WORD(v, 0x14);
+ int memory_size = GET_WORD(v, 0x12) << 16;
+ log_err("VBE version: %u.%u, oem version = %u.%u\n",
+ version >> 8, version & 0xff, oem_version >> 8, oem_version & 0xff);
+ log_err("Memory: %uk\n", memory_size >> 10);
+
+ log_err("OEM name: %s\n", get_str(tmp, sizeof tmp, v + 0x06));
+ log_err("Vendor name: %s\n", get_str(tmp, sizeof tmp, v + 0x16));
+ log_err("Product name: %s\n", get_str(tmp, sizeof tmp, v + 0x1a));
+ log_err("Product revision: %s\n", get_str(tmp, sizeof tmp, v + 0x1e));
+}
+
static int vbe_check_vbe_info(void)
{
int i;
@@ -113,23 +131,7 @@ static int vbe_check_vbe_info(void)
log_err("VBE: Error (0x4f00): 0x%04x\n", i);
return 0;
}
-
- {
- unsigned char tmp[1024];
-
- /* Parse VBE block */
- int version = GET_WORD(v, 0x04);
- int oem_version = GET_WORD(v, 0x14);
- int memory_size = GET_WORD(v, 0x12) << 16;
- log_err("VBE version: %u.%u, oem version = %u.%u\n",
- version >> 8, version & 0xff, oem_version >> 8, oem_version & 0xff);
- log_err("Memory: %uk\n", memory_size >> 10);
-
- log_err("OEM name: %s\n", get_str(tmp, sizeof tmp, v + 0x06));
- log_err("Vendor name: %s\n", get_str(tmp, sizeof tmp, v + 0x16));
- log_err("Product name: %s\n", get_str(tmp, sizeof tmp, v + 0x1a));
- log_err("Product revision: %s\n", get_str(tmp, sizeof tmp, v + 0x1e));
- }
+ parse_vbe_info(v);
return 1;
}