summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-05-31 15:43:18 -0700
committerH. Peter Anvin <hpa@zytor.com>2007-05-31 15:43:18 -0700
commit3a5dee424e0f9659ff2fbf0fcd206a390c320b3e (patch)
tree98a188a1f7a8f11b5a90bfd25d278d9464d508af
parentbdb213bb545117ae30131fef9fa9d190baae2e44 (diff)
downloadsyslinux-3a5dee424e0f9659ff2fbf0fcd206a390c320b3e.tar.gz
Simple program to dump serial console info
-rw-r--r--com32/samples/Makefile2
-rw-r--r--com32/samples/serialinfo.c40
2 files changed, 41 insertions, 1 deletions
diff --git a/com32/samples/Makefile b/com32/samples/Makefile
index b2544e6d..6d0815c5 100644
--- a/com32/samples/Makefile
+++ b/com32/samples/Makefile
@@ -40,7 +40,7 @@ LNXLIBS = ../libutil/libutil_lnx.a
.SUFFIXES: .lss .c .o .elf .c32 .lnx
-all: hello.c32 cat.c32 resolv.c32 vesainfo.c32 \
+all: hello.c32 cat.c32 resolv.c32 vesainfo.c32 serialinfo.c32 \
fancyhello.c32 fancyhello.lnx \
keytest.c32 keytest.lnx \
diff --git a/com32/samples/serialinfo.c b/com32/samples/serialinfo.c
new file mode 100644
index 00000000..0315327e
--- /dev/null
+++ b/com32/samples/serialinfo.c
@@ -0,0 +1,40 @@
+/* ----------------------------------------------------------------------- *
+ *
+ * Copyright 2007 H. Peter Anvin - All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, Inc., 53 Temple Place Ste 330,
+ * Boston MA 02111-1307, USA; either version 2 of the License, or
+ * (at your option) any later version; incorporated herein by reference.
+ *
+ * ----------------------------------------------------------------------- */
+
+/*
+ * serialinfo.c
+ *
+ * Print serial port info
+ */
+
+#include <string.h>
+#include <stdio.h>
+#include <console.h>
+#include <syslinux/config.h>
+
+int main(void)
+{
+ const struct syslinux_serial_console_info *si;
+
+ openconsole(&dev_null_r, &dev_stdcon_w);
+
+ si = syslinux_serial_console_info();
+
+ printf("Serial port base: %#06x\n", si->iobase);
+ printf("Serial port divisor: %5d", si->divisor);
+ if (si->divisor)
+ printf(" (%d baud)", 115200/si->divisor);
+ printf("\n"
+ "Flow control bits: %#05x\n", si->flowctl);
+
+ return 0;
+}