summaryrefslogtreecommitdiff
path: root/driver/serial.h
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-08-19 11:26:05 +0200
committerMiguel <m.i@gmx.at>2018-08-19 11:26:05 +0200
commit575c725f998b166f1d286a2664aa3d6061d337fe (patch)
treeb061309e725d62949fe9999d6328dfdcff82b976 /driver/serial.h
parentc102a9cd6c1da22f0c928fc66bd4bf0b5750765a (diff)
cleanup com1 driver and doxygen
Diffstat (limited to 'driver/serial.h')
-rw-r--r--driver/serial.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/driver/serial.h b/driver/serial.h
index 2f287e6..2e10af8 100644
--- a/driver/serial.h
+++ b/driver/serial.h
@@ -1,11 +1,18 @@
-void serial_init()
+/**
+ * @file
+ * Serial Port Driver for COM1
+ *
+ * https://wiki.osdev.org/Serial_Ports
+ *
+ * Call serial_init() once before reading and writing with serial_read()
+ * and serial_write(). Note that reading and writing might block.
+ */
-char serial_read() {
-int is_transmit_empty() {
- return x86_inb(PORT + 5) & 0x20;
-}
+/** Initialize COM1 **/
+void serial_init();
+
+/** read one byte from COM1 (blocking) **/
+char serial_read();
-void serial_write(char a) {
- while (is_transmit_empty() == 0);
- x86_outb(PORT,a);
-}
+/** write one byte from COM1 (blocking) **/
+void serial_write(char a);