forked from Imagelibrary/rtems
2007-06-20 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/Makefile.am: * libcsupport/src/open_dev_console.c: New file.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2007-06-20 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||
|
||||
* libcsupport/Makefile.am:
|
||||
* libcsupport/src/open_dev_console.c: New file.
|
||||
|
||||
2007-06-20 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* score/src/corerwlock.c: Make sure structure is fully initialized.
|
||||
|
||||
@@ -45,7 +45,8 @@ ASSOCIATION_C_FILES = src/assoc.c src/assoclocalbyname.c \
|
||||
|
||||
BASE_FS_C_FILES = src/base_fs.c src/mount.c src/unmount.c src/libio.c \
|
||||
src/libio_init.c \
|
||||
src/libio_sockets.c src/eval.c src/fs_null_handlers.c src/privateenv.c
|
||||
src/libio_sockets.c src/eval.c src/fs_null_handlers.c src/privateenv.c \
|
||||
src/open_dev_console.c
|
||||
|
||||
TERMIOS_C_FILES = src/cfgetispeed.c src/cfgetospeed.c src/cfsetispeed.c \
|
||||
src/cfsetospeed.c src/tcgetattr.c src/tcsetattr.c src/tcdrain.c \
|
||||
|
||||
51
cpukit/libcsupport/src/open_dev_console.c
Normal file
51
cpukit/libcsupport/src/open_dev_console.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* open_dev_console - open /dev/console
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2007.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#if HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <rtems.h>
|
||||
#include <rtems/libio.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
/*
|
||||
* This is a replaceable stub
|
||||
*/
|
||||
|
||||
void open_dev_console(void)
|
||||
{
|
||||
int stdin_fd, stdout_fd, stderr_fd;
|
||||
int error_code = 'S' << 24 | 'T' << 16 | 'D' << 8;
|
||||
|
||||
/*
|
||||
* Attempt to open /dev/console.
|
||||
*/
|
||||
if ((stdin_fd = open("/dev/console", O_RDONLY, 0)) == -1) {
|
||||
/*
|
||||
* There may not be a console driver so this is OK.
|
||||
*/
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* But if we find /dev/console once, we better find it twice more
|
||||
* or something is REALLY wrong.
|
||||
*/
|
||||
if ((stdout_fd = open("/dev/console", O_WRONLY, 0)) == -1)
|
||||
rtems_fatal_error_occurred( error_code | '1' );
|
||||
|
||||
if ((stderr_fd = open("/dev/console", O_WRONLY, 0)) == -1)
|
||||
rtems_fatal_error_occurred( error_code | '2' );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user