From 85d03e28c74c683d8a2c6c3ad049e91c3b561086 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 5 Jan 2001 13:26:51 +0000 Subject: 2001-01-05 Joel Sherrill * 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. --- c/src/libmisc/ChangeLog | 8 ++ c/src/libmisc/Makefile.am | 3 +- c/src/libmisc/configure.in | 1 + c/src/libmisc/devnull/.cvsignore | 2 + c/src/libmisc/devnull/Makefile.am | 43 ++++++++++ c/src/libmisc/devnull/devnull.c | 174 ++++++++++++++++++++++++++++++++++++++ c/src/libmisc/devnull/devnull.h | 71 ++++++++++++++++ c/src/libmisc/wrapup/Makefile.am | 3 +- 8 files changed, 303 insertions(+), 2 deletions(-) create mode 100644 c/src/libmisc/devnull/.cvsignore create mode 100644 c/src/libmisc/devnull/Makefile.am create mode 100644 c/src/libmisc/devnull/devnull.c create mode 100644 c/src/libmisc/devnull/devnull.h (limited to 'c/src/libmisc') diff --git a/c/src/libmisc/ChangeLog b/c/src/libmisc/ChangeLog index cad0bda4b1..4abf230261 100644 --- a/c/src/libmisc/ChangeLog +++ b/c/src/libmisc/ChangeLog @@ -1,3 +1,11 @@ +2001-01-05 Joel Sherrill + + * 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. + 2000-11-30 Joel Sherrill * mw-fb/mw_uid.c: Removed unnecessary dependency on . diff --git a/c/src/libmisc/Makefile.am b/c/src/libmisc/Makefile.am index ce1c8001f6..0474afc71a 100644 --- a/c/src/libmisc/Makefile.am +++ b/c/src/libmisc/Makefile.am @@ -5,7 +5,8 @@ AUTOMAKE_OPTIONS = foreign 1.4 ACLOCAL_AMFLAGS = -I ../../../aclocal -SUBDIRS = dummy dumpbuf stackchk monitor cpuuse rtmonuse untar mw-fb wrapup +SUBDIRS = devnull dummy dumpbuf stackchk monitor cpuuse rtmonuse untar \ + mw-fb wrapup EXTRA_DIST = README diff --git a/c/src/libmisc/configure.in b/c/src/libmisc/configure.in index a93ff32c7a..28628bb222 100644 --- a/c/src/libmisc/configure.in +++ b/c/src/libmisc/configure.in @@ -33,6 +33,7 @@ AM_CONDITIONAL(HAS_MP,test "$HAS_MP" = "yes") AC_OUTPUT( Makefile cpuuse/Makefile +devnull/Makefile dummy/Makefile dumpbuf/Makefile monitor/Makefile diff --git a/c/src/libmisc/devnull/.cvsignore b/c/src/libmisc/devnull/.cvsignore new file mode 100644 index 0000000000..282522db03 --- /dev/null +++ b/c/src/libmisc/devnull/.cvsignore @@ -0,0 +1,2 @@ +Makefile +Makefile.in diff --git a/c/src/libmisc/devnull/Makefile.am b/c/src/libmisc/devnull/Makefile.am new file mode 100644 index 0000000000..9154a40725 --- /dev/null +++ b/c/src/libmisc/devnull/Makefile.am @@ -0,0 +1,43 @@ +## +## $Id$ +## + +AUTOMAKE_OPTIONS = foreign 1.4 + +LIBNAME = libdevnull-tmp +LIB = $(ARCH)/$(LIBNAME).a + + +C_FILES = devnull.c +C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o) + +H_FILES = devnull.h + +OBJS = $(C_O_FILES) + +include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg +include $(top_srcdir)/../../../automake/compile.am +include $(top_srcdir)/../../../automake/lib.am + +$(PROJECT_INCLUDE)/rtems: + @$(mkinstalldirs) $@ +$(PROJECT_INCLUDE)/rtems/%.h: %.h + $(INSTALL_DATA) $< $@ + +# +# (OPTIONAL) Add local stuff here using += +# + +$(LIB): $(OBJS) + $(make-library) + +PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems \ + $(H_FILES:%=$(PROJECT_INCLUDE)/rtems/%) + +all-local: $(ARCH) $(PREINSTALL_FILES) $(OBJS) $(LIB) + +.PRECIOUS: $(LIB) + +EXTRA_DIST = devnull.c + +include $(top_srcdir)/../../../automake/local.am 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 +#include +#include + +/* 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; +} diff --git a/c/src/libmisc/devnull/devnull.h b/c/src/libmisc/devnull/devnull.h new file mode 100644 index 0000000000..7c0d7f1dcf --- /dev/null +++ b/c/src/libmisc/devnull/devnull.h @@ -0,0 +1,71 @@ +/* devnull.h + * + * Null device driver, 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$ + */ + +#ifndef __NULL_DRIVER_h +#define __NULL_DRIVER_h + +#ifdef __cplusplus +extern "C" { +#endif + +#define DEVNULL_DRIVER_TABLE_ENTRY \ + { null_initialize, null_open, null_close, null_read, \ + null_write, null_control } + +#define NULL_SUCCESSFUL RTEMS_SUCCESSFUL + +rtems_device_driver null_initialize( + rtems_device_major_number, + rtems_device_minor_number, + void * +); + +rtems_device_driver null_open( + rtems_device_major_number, + rtems_device_minor_number, + void * +); + +rtems_device_driver null_close( + rtems_device_major_number, + rtems_device_minor_number, + void * +); + +rtems_device_driver null_read( + rtems_device_major_number, + rtems_device_minor_number, + void * +); + +rtems_device_driver null_write( + rtems_device_major_number, + rtems_device_minor_number, + void * +); + +rtems_device_driver null_control( + rtems_device_major_number, + rtems_device_minor_number, + void * +); + +#ifdef __cplusplus +} +#endif + +#endif +/* end of include file */ diff --git a/c/src/libmisc/wrapup/Makefile.am b/c/src/libmisc/wrapup/Makefile.am index b8504d3e3e..50ca35b059 100644 --- a/c/src/libmisc/wrapup/Makefile.am +++ b/c/src/libmisc/wrapup/Makefile.am @@ -14,7 +14,8 @@ include $(top_srcdir)/../../../automake/lib.am TMP_LIBS = ../monitor/$(ARCH)/libmonitor-tmp.a \ ../untar/$(ARCH)/libuntar-tmp.a ../stackchk/$(ARCH)/libstackchk-tmp.a \ ../cpuuse/$(ARCH)/libcpuuse-tmp.a ../rtmonuse/$(ARCH)/librtmonuse-tmp.a \ - ../dumpbuf/$(ARCH)/libdumpbuf-tmp.a ../mw-fb/$(ARCH)/libmw-fb-tmp.a + ../dumpbuf/$(ARCH)/libdumpbuf-tmp.a ../devnull/$(ARCH)/libdevnull-tmp.a \ + ../mw-fb/$(ARCH)/libmw-fb-tmp.a $(PROJECT_RELEASE)/lib/$(LIBNAME)$(LIB_VARIANT).a: $(LIB) $(INSTALL_DATA) $< $@ -- cgit v1.2.3