summaryrefslogtreecommitdiff
path: root/include/serial.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/serial.h')
-rw-r--r--include/serial.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/serial.h b/include/serial.h
new file mode 100644
index 0000000..c206540
--- /dev/null
+++ b/include/serial.h
@@ -0,0 +1,30 @@
+#ifndef __SERIAL_H__
+#define __SERIAL_H__
+
+#define NAMESIZE 16
+#define CTLRSIZE 8
+
+struct serial_device {
+ char name[NAMESIZE];
+ char ctlr[CTLRSIZE];
+
+ int (*init) (void);
+ void (*setbrg) (void);
+ int (*getc) (void);
+ int (*tstc) (void);
+ void (*putc) (const char c);
+ void (*puts) (const char *s);
+
+ struct serial_device *next;
+};
+
+extern struct serial_device serial_smc_device;
+extern struct serial_device serial_scc_device;
+extern struct serial_device * default_serial_console (void);
+
+extern void serial_initialize(void);
+extern void serial_devices_init(void);
+extern int serial_assign(char * name);
+extern void serial_reinit_all(void);
+
+#endif