diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-01-05 13:26:51 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-01-05 13:26:51 +0000 |
commit | 85d03e28c74c683d8a2c6c3ad049e91c3b561086 (patch) | |
tree | da0683225db8070ce62569fc702cbdab764fd367 /c/src/libmisc/devnull/devnull.c | |
parent | 2001-01-03 Emmanuel Raguet <raguet@crf.canon.fr> (diff) | |
download | rtems-85d03e28c74c683d8a2c6c3ad049e91c3b561086.tar.bz2 |
2001-01-05 Joel Sherrill <joel@OARcorp.com>
* devnull: New addition. Moved from libcpu/sh.
* devnull/devnull.c, devnull/devnull.h, devnull/.cvsignore,
devnull/Makefile.am: New files.
* Makefile.am, configure.in, wrapup/Makefile.am: Modified to reflect
addition of above.
Diffstat (limited to 'c/src/libmisc/devnull/devnull.c')
-rw-r--r-- | c/src/libmisc/devnull/devnull.c | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/c/src/libmisc/devnull/devnull.c b/c/src/libmisc/devnull/devnull.c new file mode 100644 index 0000000000..c569fcb2ba --- /dev/null +++ b/c/src/libmisc/devnull/devnull.c @@ -0,0 +1,174 @@ +/* /dev/null + * + * Derived from rtems' stub driver. + * + * Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de) + * + * COPYRIGHT (c) 1989-2000. + * 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.OARcorp.com/rtems/license.html. + * + * $Id$ + */ + +#include <rtems.h> +#include <rtems/devnull.h> +#include <rtems/libio.h> + +/* null_initialize + * + * This routine is the null device driver init routine. + * + * Input parameters: + * major - device major number + * minor - device minor number + * pargp - pointer to parameter block + * + * Output parameters: + * rval - NULL_SUCCESSFUL + */ + +rtems_unsigned32 NULL_major; + +rtems_device_driver null_initialize( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *pargp +) +{ + rtems_device_driver status ; + + status = rtems_io_register_name( + "/dev/null", + major, + (rtems_device_minor_number) 0 + ); + + if (status != RTEMS_SUCCESSFUL) + rtems_fatal_error_occurred(status); + + NULL_major = major; + + return RTEMS_SUCCESSFUL; +} + +/* null_open + * + * This routine is the null device driver open routine. + * + * Input parameters: + * major - device major number + * minor - device minor number + * pargb - pointer to open parameter block + * + * Output parameters: + * rval - NULL_SUCCESSFUL + */ + +rtems_device_driver null_open( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *pargp +) +{ + return NULL_SUCCESSFUL; +} + + +/* null_close + * + * This routine is the null device driver close routine. + * + * Input parameters: + * major - device major number + * minor - device minor number + * pargb - pointer to close parameter block + * + * Output parameters: + * rval - NULL_SUCCESSFUL + */ + +rtems_device_driver null_close( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *pargp +) +{ + return NULL_SUCCESSFUL; +} + + +/* null_read + * + * This routine is the null device driver read routine. + * + * Input parameters: + * major - device major number + * minor - device minor number + * pargp - pointer to read parameter block + * + * Output parameters: + * rval - NULL_SUCCESSFUL + */ + +rtems_device_driver null_read( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *pargp +) +{ + return NULL_SUCCESSFUL; +} + + +/* null_write + * + * This routine is the null device driver write routine. + * + * Input parameters: + * major - device major number + * minor - device minor number + * pargp - pointer to write parameter block + * + * Output parameters: + * rval - NULL_SUCCESSFUL + */ + +rtems_device_driver null_write( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *pargp +) +{ + rtems_libio_rw_args_t *rw_args = (rtems_libio_rw_args_t *) pargp ; + + rw_args->bytes_moved = rw_args->count ; + + return NULL_SUCCESSFUL; +} + + +/* null_control + * + * This routine is the null device driver control routine. + * + * Input parameters: + * major - device major number + * minor - device minor number + * pargp - pointer to cntrl parameter block + * + * Output parameters: + * rval - NULL_SUCCESSFUL + */ + +rtems_device_driver null_control( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *pargp +) +{ + return NULL_SUCCESSFUL; +} |