summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/shared
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-03-30 14:01:19 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-03-30 14:01:19 +0000
commit8f95b5f67b59eef4aa392b6be72f59af720d9ea2 (patch)
treeaf9b523e50efac2535bb4adc90d162f84ec78284 /c/src/lib/libbsp/shared
parentRenamed crt0.o to crt0_go32.o to avoid build problems. (diff)
downloadrtems-8f95b5f67b59eef4aa392b6be72f59af720d9ea2.tar.bz2
Moved bsp_postdriver_hook() to a shared file and made it a common
component.
Diffstat (limited to 'c/src/lib/libbsp/shared')
-rw-r--r--c/src/lib/libbsp/shared/bsppost.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/shared/bsppost.c b/c/src/lib/libbsp/shared/bsppost.c
new file mode 100644
index 0000000000..d3d14786ce
--- /dev/null
+++ b/c/src/lib/libbsp/shared/bsppost.c
@@ -0,0 +1,37 @@
+/*
+ * This is a basic BSP post driver hook.
+ *
+ * After drivers are setup, register some "filenames"
+ * and open stdin, stdout, stderr files
+ *
+ * Newlib will automatically associate the files with these
+ * (it hardcodes the numbers)
+ *
+ * $Id$
+ */
+
+#include <rtems.h>
+#include <rtems/libio.h>
+#include <fcntl.h>
+
+void
+bsp_postdriver_hook(void)
+{
+ int stdin_fd, stdout_fd, stderr_fd;
+ int error_code;
+
+ error_code = 'S' << 24 | 'T' << 16;
+
+ if ((stdin_fd = __rtems_open("/dev/console", O_RDONLY, 0)) == -1)
+ rtems_fatal_error_occurred( error_code | 'D' << 8 | '0' );
+
+ if ((stdout_fd = __rtems_open("/dev/console", O_WRONLY, 0)) == -1)
+ rtems_fatal_error_occurred( error_code | 'D' << 8 | '1' );
+
+ if ((stderr_fd = __rtems_open("/dev/console", O_WRONLY, 0)) == -1)
+ rtems_fatal_error_occurred( error_code | 'D' << 8 | '2' );
+
+ if ((stdin_fd != 0) || (stdout_fd != 1) || (stderr_fd != 2))
+ rtems_fatal_error_occurred( error_code | 'I' << 8 | 'O' );
+}
+