From 578a41501456b14f7718e445a57bf121d30b2a8c Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 12 Oct 1999 19:08:55 +0000 Subject: Corrected mistakes in the IMFS file handlers table and added the missing routine imfs_fcntl.c --- cpukit/libcsupport/src/fs_null_handlers.c | 97 +++++++++++++++++++++++++++++++ cpukit/libfs/src/imfs/imfs.h | 5 ++ cpukit/libfs/src/imfs/imfs_fcntl.c | 25 ++++++++ 3 files changed, 127 insertions(+) create mode 100644 cpukit/libcsupport/src/fs_null_handlers.c create mode 100644 cpukit/libfs/src/imfs/imfs_fcntl.c (limited to 'cpukit') diff --git a/cpukit/libcsupport/src/fs_null_handlers.c b/cpukit/libcsupport/src/fs_null_handlers.c new file mode 100644 index 0000000000..e9ff4a578a --- /dev/null +++ b/cpukit/libcsupport/src/fs_null_handlers.c @@ -0,0 +1,97 @@ +/* + * Operations Tables for the IMFS + * + * COPYRIGHT (c) 1989-1998. + * On-Line Applications Research Corporation (OAR). + * Copyright assigned to U.S. Government, 1994. + * + * 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 "imfs.h" + +/* + * Set of operations handlers for operations on memfile entities. + */ + +rtems_filesystem_file_handlers_r memfile_handlers = { + memfile_open, + memfile_close, + memfile_read, + memfile_write, + memfile_ioctl, + memfile_lseek, + IMFS_stat, + IMFS_fchmod, + memfile_ftruncate, + NULL, /* fpathconf */ + NULL, /* fsync */ + IMFS_fdatasync, + IMFS_fcntl +}; + +/* + * Set of operations handlers for operations on directories. + */ + +rtems_filesystem_file_handlers_r dir_handlers = { + imfs_dir_open, + imfs_dir_close, + imfs_dir_read, + NULL, /* write */ + NULL, /* ioctl */ + imfs_dir_lseek, + imfs_dir_fstat, + IMFS_fchmod, + NULL, /* ftruncate */ + NULL, /* fpathconf */ + NULL, /* fsync */ + IMFS_fdatasync, + IMFS_fcntl +}; + +/* + * Handler table for IMFS device nodes + */ + +rtems_filesystem_file_handlers_r device_handlers = { + device_open, + device_close, + device_read, + device_write, + device_ioctl, + device_lseek, + IMFS_stat, + IMFS_fchmod, + NULL, /* ftruncate */ + NULL, /* fpathconf */ + NULL, /* fsync */ + NULL, /* fdatasync */ + NULL /* fcntl */ +}; + +/* + * Set of null operations handlers. + */ + +rtems_filesystem_file_handlers_r null_handlers = { + NULL, /* open */ + NULL, /* close */ + NULL, /* read */ + NULL, /* write */ + NULL, /* ioctl */ + NULL, /* lseek */ + NULL, /* fstat */ + NULL, /* fchmod */ + NULL, /* ftruncate */ + NULL, /* fpathconf */ + NULL, /* fsync */ + NULL, /* fdatasync */ + NULL /* fcntl */ +}; diff --git a/cpukit/libfs/src/imfs/imfs.h b/cpukit/libfs/src/imfs/imfs.h index 0421e9e25c..f5ea346b44 100644 --- a/cpukit/libfs/src/imfs/imfs.h +++ b/cpukit/libfs/src/imfs/imfs.h @@ -447,6 +447,11 @@ int IMFS_fdatasync( rtems_libio_t *iop ); +int IMFS_fcntl( + int cmd, + rtems_libio_t *iop +); + #ifdef __cplusplus } #endif diff --git a/cpukit/libfs/src/imfs/imfs_fcntl.c b/cpukit/libfs/src/imfs/imfs_fcntl.c new file mode 100644 index 0000000000..cbbbe1eedb --- /dev/null +++ b/cpukit/libfs/src/imfs/imfs_fcntl.c @@ -0,0 +1,25 @@ +/* + * IMFS_fcntl + * + * The following routine does a fcntl on an IMFS node. + * + * COPYRIGHT (c) 1989-1998. + * On-Line Applications Research Corporation (OAR). + * Copyright assigned to U.S. Government, 1994. + * + * 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 "imfs.h" + +int IMFS_fcntl( + int cmd, + rtems_libio_t *iop +) +{ + return 0; +} -- cgit v1.2.3