+/**
+ * glk_stream_get_current:
+ *
+ * Returns the current stream, or #NULL if there is none.
+ *
+ * Returns: A stream.
+ */
+strid_t
+glk_stream_get_current()
+{
+ return current_stream;
+}
+
+/**
+ * glk_put_char:
+ * @ch: A character in Latin-1 encoding.
+ *
+ * Prints one character @ch to the current stream.
+ */
+void
+glk_put_char(unsigned char ch)
+{
+ /* Illegal to print to the current stream if it is NULL */
+ g_return_if_fail(current_stream != NULL);
+ glk_put_char_stream(current_stream, ch);
+}
+
+/**
+ * glk_put_string:
+ * @s: A null-terminated string in Latin-1 encoding.
+ *
+ * Prints @s to the current stream.
+ */
+void
+glk_put_string(char *s)
+{
+ /* Illegal to print to the current stream if it is NULL */
+ g_return_if_fail(current_stream != NULL);
+ glk_put_string_stream(current_stream, s);
+}
+
+/**
+ * glk_put_buffer:
+ * @buf: An array of characters in Latin-1 encoding.
+ * @len: Length of @buf.
+ *
+ * Prints @buf to the current stream.
+ */
+void
+glk_put_buffer(char *buf, glui32 len)
+{
+ /* Illegal to print to the current stream if it is NULL */
+ g_return_if_fail(current_stream != NULL);
+ glk_put_buffer_stream(current_stream, buf, len);
+}
+
+/**
+ * glk_put_char_stream:
+ * @str: An output stream.
+ * @ch: A character in Latin-1 encoding.
+ *
+ * Prints one character @ch to the stream @str. It is illegal for @str to be
+ * #NULL, or an input-only stream.
+ */
+void
+glk_put_char_stream(strid_t str, unsigned char ch)
+{
+ g_return_if_fail(str != NULL);
+ g_return_if_fail(str->file_mode != filemode_Read);
+
+ /* Convert ch to a null-terminated string, call glk_put_string_stream() */
+ gchar *s = g_strndup((gchar *)&ch, 1);
+ glk_put_string_stream(str, s);
+ g_free(s);
+}
+