summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/include/sys/tty.h1
-rw-r--r--sys/kern/kern_tty.c17
2 files changed, 18 insertions, 0 deletions
diff --git a/sys/include/sys/tty.h b/sys/include/sys/tty.h
index 4a2c9ec..c53ea73 100644
--- a/sys/include/sys/tty.h
+++ b/sys/include/sys/tty.h
@@ -57,6 +57,7 @@ extern struct tty g_root_tty;
dev_t tty_attach(struct tty *tty);
int tty_putc(struct tty *tty, int c);
+int tty_putstr(struct tty *tty, const char *s, size_t count);
ssize_t tty_flush(struct tty *tty);
#endif /* !_SYS_TTY_H_ */
diff --git a/sys/kern/kern_tty.c b/sys/kern/kern_tty.c
index 7be7042..8446e2b 100644
--- a/sys/kern/kern_tty.c
+++ b/sys/kern/kern_tty.c
@@ -181,6 +181,23 @@ tty_putc(struct tty *tty, int c)
return 0;
}
+/*
+ * Write a string to a TTY
+ *
+ * @tty: TTY to write to.
+ * @s: String to write.
+ * @count: Number of bytes to write.
+ */
+int
+tty_putstr(struct tty *tty, const char *s, size_t count)
+{
+ for (size_t i = 0; i < count; ++i) {
+ tty_putc(tty, *s++);
+ }
+
+ return 0;
+}
+
dev_t
tty_attach(struct tty *tty)
{