summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libc/termiosinitialize.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-05-27 16:11:52 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-05-27 16:11:52 +0000
commit5adf355aa3cf66dc768d502b5a4855d734ce9d49 (patch)
treeb90fcecbc3f776a903655a4b97e1a9769bfb7983 /c/src/lib/libc/termiosinitialize.c
parentSplit out polled io, debug puts, and console reserve resources to (diff)
downloadrtems-5adf355aa3cf66dc768d502b5a4855d734ce9d49.tar.bz2
Split initialization and reserve resources from termios to reduce
size of mininum application.
Diffstat (limited to 'c/src/lib/libc/termiosinitialize.c')
-rw-r--r--c/src/lib/libc/termiosinitialize.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/c/src/lib/libc/termiosinitialize.c b/c/src/lib/libc/termiosinitialize.c
new file mode 100644
index 0000000000..f6e73787c9
--- /dev/null
+++ b/c/src/lib/libc/termiosinitialize.c
@@ -0,0 +1,50 @@
+/*
+ * Termios initialization routine
+ *
+ * Author:
+ * W. Eric Norum
+ * Saskatchewan Accelerator Laboratory
+ * University of Saskatchewan
+ * Saskatoon, Saskatchewan, CANADA
+ * eric@skatter.usask.ca
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#include <rtems.h>
+#include <rtems.h>
+#include <rtems/libio.h>
+#include <ctype.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <termios.h>
+#include <unistd.h>
+
+struct rtems_termios_tty *rtems_termios_ttyHead;
+struct rtems_termios_tty *rtems_termios_ttyTail;
+rtems_id rtems_termios_ttyMutex;
+
+void
+rtems_termios_initialize (void)
+{
+ rtems_status_code sc;
+
+ /*
+ * Create the mutex semaphore for the tty list
+ */
+ if (!rtems_termios_ttyMutex) {
+ sc = rtems_semaphore_create (
+ rtems_build_name ('T', 'R', 'm', 'i'),
+ 1,
+ RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY,
+ RTEMS_NO_PRIORITY,
+ &rtems_termios_ttyMutex);
+ if (sc != RTEMS_SUCCESSFUL)
+ rtems_fatal_error_occurred (sc);
+ }
+}