2010-06-29 Jennifer.Averett <Jennifer.Averett@OARcorp.com>

* libcsupport/include/rtems/libio.h, libfs/Makefile.am,
	libfs/src/defaults/default_chown.c,
	libfs/src/defaults/default_evalpath.c,
	libfs/src/defaults/default_freenode.c,
	libfs/src/defaults/default_fsmount.c,
	libfs/src/defaults/default_link.c,
	libfs/src/defaults/default_mount.c,
	libfs/src/defaults/default_rename.c,
	libfs/src/defaults/default_statvfs.c,
	libfs/src/defaults/default_symlink.c,
	libfs/src/defaults/default_unlink.c,
	libfs/src/defaults/default_utime.c, libfs/src/devfs/devfs_init.c,
	libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs_init.c,
	libfs/src/nfsclient/src/nfs.c, libfs/src/rfs/rtems-rfs-rtems.c,
	wrapup/Makefile.am: Fixed typo in default names. Added default
	methods into filesystem tables.
	* libfs/src/defaults/default_close.c,
	libfs/src/defaults/default_evaluate_link.c,
	libfs/src/defaults/default_fpathconf.c,
	libfs/src/defaults/default_fsunmount.c,
	libfs/src/defaults/default_open.c,
	libfs/src/defaults/default_unmount.c: New files.
This commit is contained in:
Jennifer Averett
2010-06-29 19:37:28 +00:00
parent cd90b9c959
commit dace9ed18b
26 changed files with 311 additions and 125 deletions

View File

@@ -1,3 +1,28 @@
2010-06-29 Jennifer.Averett <Jennifer.Averett@OARcorp.com>
* libcsupport/include/rtems/libio.h, libfs/Makefile.am,
libfs/src/defaults/default_chown.c,
libfs/src/defaults/default_evalpath.c,
libfs/src/defaults/default_freenode.c,
libfs/src/defaults/default_fsmount.c,
libfs/src/defaults/default_link.c,
libfs/src/defaults/default_mount.c,
libfs/src/defaults/default_rename.c,
libfs/src/defaults/default_statvfs.c,
libfs/src/defaults/default_symlink.c,
libfs/src/defaults/default_unlink.c,
libfs/src/defaults/default_utime.c, libfs/src/devfs/devfs_init.c,
libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs_init.c,
libfs/src/nfsclient/src/nfs.c, libfs/src/rfs/rtems-rfs-rtems.c,
wrapup/Makefile.am: Fixed typo in default names. Added default
methods into filesystem tables.
* libfs/src/defaults/default_close.c,
libfs/src/defaults/default_evaluate_link.c,
libfs/src/defaults/default_fpathconf.c,
libfs/src/defaults/default_fsunmount.c,
libfs/src/defaults/default_open.c,
libfs/src/defaults/default_unmount.c: New files.
2010-06-29 Joel Sherrill <joel.sherrill@oarcorp.com> 2010-06-29 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.ac, score/include/rtems/score/percpu.h: Add * configure.ac, score/include/rtems/score/percpu.h: Add

View File

@@ -360,6 +360,27 @@ struct _rtems_filesystem_file_handlers_r {
*/ */
rtems_filesystem_rmnod_t rmnod_h; rtems_filesystem_rmnod_t rmnod_h;
}; };
/**
* This method defines the interface to the default open(2)
* system call support which is provided by a file system
* implementation.
*/
int rtems_filesystem_default_open(
rtems_libio_t *iop,
const char *pathname,
uint32_t flag,
uint32_t mode
);
/**
* This method defines the interface to the default close(2)
* system call support which is provided by a file system
* implementation.
*/
int rtems_filesystem_default_close(
rtems_libio_t *iop
);
/** /**
* This method defines the interface to the default read(2) * This method defines the interface to the default read(2)

View File

@@ -16,18 +16,21 @@ EXTRA_DIST = README
noinst_LIBRARIES = libdefaultfs.a noinst_LIBRARIES = libdefaultfs.a
libdefaultfs_a_SOURCES = \ libdefaultfs_a_SOURCES = \
src/defaults/default_chown.c src/defaults/default_fdatasync.c \ src/defaults/default_fchmod.c src/defaults/default_freenode.c \
src/defaults/default_fsync.c src/defaults/default_lseek.c \ src/defaults/default_fsync.c src/defaults/default_link.c \
src/defaults/default_rename.c src/defaults/default_unlink.c \ src/defaults/default_read.c src/defaults/default_rmnod.c \
src/defaults/default_evalpath.c src/defaults/default_freenode.c \ src/defaults/default_unlink.c src/defaults/default_chown.c \
src/defaults/default_ftruncate.c src/defaults/default_mount.c \ src/defaults/default_fcntl.c src/defaults/default_fsmount.c \
src/defaults/default_rmnod.c src/defaults/default_utime.c \ src/defaults/default_ftruncate.c src/defaults/default_lseek.c \
src/defaults/default_fchmod.c src/defaults/default_fsmount.c \ src/defaults/default_readlink.c src/defaults/default_statvfs.c \
src/defaults/default_ioctl.c src/defaults/default_read.c \ src/defaults/default_utime.c src/defaults/default_evalpath.c \
src/defaults/default_statvfs.c src/defaults/default_write.c \ src/defaults/default_fdatasync.c src/defaults/default_fstat.c \
src/defaults/default_fcntl.c src/defaults/default_fstat.c \ src/defaults/default_ioctl.c src/defaults/default_mount.c \
src/defaults/default_link.c src/defaults/default_readlink.c \ src/defaults/default_rename.c src/defaults/default_symlink.c \
src/defaults/default_symlink.c src/defaults/default_write.c src/defaults/default_fpathconf.c \
src/defaults/default_unmount.c src/defaults/default_evaluate_link.c \
src/defaults/default_open.c src/defaults/default_close.c \
src/defaults/default_fsunmount.c
noinst_LIBRARIES += libimfs.a noinst_LIBRARIES += libimfs.a
libimfs_a_SOURCES = libimfs_a_SOURCES =

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_chown_t( int rtems_filesystem_default_chown(
rtems_filesystem_location_info_t *pathloc, /* IN */ rtems_filesystem_location_info_t *pathloc, /* IN */
uid_t owner, /* IN */ uid_t owner, /* IN */
gid_t group /* IN */ gid_t group /* IN */

View File

@@ -0,0 +1,21 @@
/*
* COPYRIGHT (c) 2010.
* 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$
*/
#include <rtems/libio.h>
#include <rtems/libio_.h>
#include <rtems/seterr.h>
int rtems_filesystem_default_close(
rtems_libio_t *iop
)
{
rtems_set_errno_and_return_minus_one( ENOTSUP );
}

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_evalpath_t( int rtems_filesystem_default_evalpath(
const char *pathname, /* IN */ const char *pathname, /* IN */
size_t pathnamelen, /* IN */ size_t pathnamelen, /* IN */
int flags, /* IN */ int flags, /* IN */

View File

@@ -0,0 +1,24 @@
/*
* COPYRIGHT (c) 2010.
* 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$
*/
#include <rtems/libio.h>
#include <rtems/libio_.h>
#include <rtems/seterr.h>
int rtems_filesystem_default_evaluate_link(
rtems_filesystem_location_info_t *pathloc, /* IN/OUT */
int flags /* IN */
)
{
pathloc = NULL;
rtems_set_errno_and_return_minus_one( ENOTSUP );
}

View File

@@ -0,0 +1,22 @@
/*
* COPYRIGHT (c) 2010.
* 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$
*/
#include <rtems/libio.h>
#include <rtems/libio_.h>
#include <rtems/seterr.h>
int rtems_filesystem_default_fpathconf(
rtems_libio_t *iop,
int name
)
{
rtems_set_errno_and_return_minus_one( ENOTSUP );
}

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_freenode_t( int rtems_filesystem_default_freenode(
rtems_filesystem_location_info_t *pathloc /* IN */ rtems_filesystem_location_info_t *pathloc /* IN */
) )
{ {

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_fsmount_t( int rtems_filesystem_default_fsmount(
rtems_filesystem_mount_table_entry_t *mt_entry, /* IN */ rtems_filesystem_mount_table_entry_t *mt_entry, /* IN */
const void *data /* IN */ const void *data /* IN */
) )

View File

@@ -0,0 +1,21 @@
/*
* COPYRIGHT (c) 2010.
* 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$
*/
#include <rtems/libio.h>
#include <rtems/libio_.h>
#include <rtems/seterr.h>
int rtems_filesystem_default_fsunmount(
rtems_filesystem_mount_table_entry_t *mt_entry /* IN */
)
{
return 0;
}

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_link_t( int rtems_filesystem_default_link(
rtems_filesystem_location_info_t *to_loc, /* IN */ rtems_filesystem_location_info_t *to_loc, /* IN */
rtems_filesystem_location_info_t *parent_loc, /* IN */ rtems_filesystem_location_info_t *parent_loc, /* IN */
const char *name /* IN */ const char *name /* IN */

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_mount_t ( int rtems_filesystem_default_mount (
rtems_filesystem_mount_table_entry_t *mt_entry /* IN */ rtems_filesystem_mount_table_entry_t *mt_entry /* IN */
) )
{ {

View File

@@ -0,0 +1,24 @@
/*
* COPYRIGHT (c) 2010.
* 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$
*/
#include <rtems/libio.h>
#include <rtems/libio_.h>
#include <rtems/seterr.h>
int rtems_filesystem_default_open(
rtems_libio_t *iop,
const char *pathname,
uint32_t flag,
uint32_t mode
)
{
rtems_set_errno_and_return_minus_one( ENOTSUP );
}

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_rename_t( int rtems_filesystem_default_rename(
rtems_filesystem_location_info_t *old_parent_loc, /* IN */ rtems_filesystem_location_info_t *old_parent_loc, /* IN */
rtems_filesystem_location_info_t *old_loc, /* IN */ rtems_filesystem_location_info_t *old_loc, /* IN */
rtems_filesystem_location_info_t *new_parent_loc, /* IN */ rtems_filesystem_location_info_t *new_parent_loc, /* IN */

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_statvfs_t( int rtems_filesystem_default_statvfs(
rtems_filesystem_location_info_t *loc, /* IN */ rtems_filesystem_location_info_t *loc, /* IN */
struct statvfs *buf /* OUT */ struct statvfs *buf /* OUT */
) )

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_symlink_t( int rtems_filesystem_default_symlink(
rtems_filesystem_location_info_t *loc, /* IN */ rtems_filesystem_location_info_t *loc, /* IN */
const char *link_name, /* IN */ const char *link_name, /* IN */
const char *node_name const char *node_name

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_unlink_t( int rtems_filesystem_default_unlink(
rtems_filesystem_location_info_t *parent_pathloc, /* IN */ rtems_filesystem_location_info_t *parent_pathloc, /* IN */
rtems_filesystem_location_info_t *pathloc /* IN */ rtems_filesystem_location_info_t *pathloc /* IN */
) )

View File

@@ -0,0 +1,21 @@
/*
* COPYRIGHT (c) 2010.
* 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$
*/
#include <rtems/libio.h>
#include <rtems/libio_.h>
#include <rtems/seterr.h>
int rtems_filesystem_default_unmount(
rtems_filesystem_mount_table_entry_t *mt_entry /* IN */
)
{
return 0;
}

View File

@@ -13,7 +13,7 @@
#include <rtems/libio_.h> #include <rtems/libio_.h>
#include <rtems/seterr.h> #include <rtems/seterr.h>
int rtems_filesystem_default_utime_t( int rtems_filesystem_default_utime(
rtems_filesystem_location_info_t *pathloc, /* IN */ rtems_filesystem_location_info_t *pathloc, /* IN */
time_t actime, /* IN */ time_t actime, /* IN */
time_t modtime /* IN */ time_t modtime /* IN */

View File

@@ -20,21 +20,22 @@ rtems_filesystem_operations_table devFS_ops =
{ {
devFS_evaluate_path, devFS_evaluate_path,
devFS_evaluate_for_make, devFS_evaluate_for_make,
NULL, rtems_filesystem_default_link,
NULL, rtems_filesystem_default_unlink,
devFS_node_type, devFS_node_type,
devFS_mknod, devFS_mknod,
NULL, rtems_filesystem_default_chown,
NULL, rtems_filesystem_default_freenode,
NULL, rtems_filesystem_default_mount,
devFS_initialize, devFS_initialize,
NULL, rtems_filesystem_default_unmount,
NULL, rtems_filesystem_default_fsunmount,
NULL, rtems_filesystem_default_utime,
NULL, rtems_filesystem_default_evaluate_link,
NULL, rtems_filesystem_default_symlink,
NULL, rtems_filesystem_default_readlink,
NULL rtems_filesystem_default_rename,
rtems_filesystem_default_statvfs
}; };
@@ -45,15 +46,15 @@ rtems_filesystem_file_handlers_r devFS_file_handlers =
devFS_read, devFS_read,
devFS_write, devFS_write,
devFS_ioctl, devFS_ioctl,
NULL, rtems_filesystem_default_lseek,
devFS_stat, devFS_stat,
NULL, rtems_filesystem_default_fchmod,
NULL, rtems_filesystem_default_ftruncate,
NULL, rtems_filesystem_default_fpathconf,
NULL, rtems_filesystem_default_fsync,
NULL, rtems_filesystem_default_fdatasync,
NULL, rtems_filesystem_default_fcntl,
NULL rtems_filesystem_default_rmnod
}; };

View File

@@ -22,22 +22,22 @@
const rtems_filesystem_operations_table msdos_ops = { const rtems_filesystem_operations_table msdos_ops = {
.evalpath_h = msdos_eval_path, .evalpath_h = msdos_eval_path,
.evalformake_h = msdos_eval4make, .evalformake_h = msdos_eval4make,
.link_h = NULL, .link_h = rtems_filesystem_default_link,
.unlink_h = msdos_file_rmnod, .unlink_h = msdos_file_rmnod,
.node_type_h = msdos_node_type, .node_type_h = msdos_node_type,
.mknod_h = msdos_mknod, .mknod_h = msdos_mknod,
.chown_h = NULL, .chown_h = rtems_filesystem_default_chown,
.freenod_h = msdos_free_node_info, .freenod_h = msdos_free_node_info,
.mount_h = NULL, .mount_h = rtems_filesystem_default_mount,
.fsmount_me_h = rtems_dosfs_initialize, .fsmount_me_h = rtems_dosfs_initialize,
.unmount_h = NULL, .unmount_h = rtems_filesystem_default_unmount,
.fsunmount_me_h = msdos_shut_down, .fsunmount_me_h = msdos_shut_down,
.utime_h = NULL, .utime_h = rtems_filesystem_default_utime,
.eval_link_h = NULL, .eval_link_h = rtems_filesystem_default_evaluate_link,
.symlink_h = NULL, .symlink_h = rtems_filesystem_default_symlink,
.readlink_h = NULL, .readlink_h = rtems_filesystem_default_readlink,
.rename_h = msdos_rename, .rename_h = msdos_rename,
.statvfs_h = NULL .statvfs_h = rtems_filesystem_default_statvfs
}; };
/* msdos_initialize -- /* msdos_initialize --

View File

@@ -43,7 +43,7 @@ const rtems_filesystem_operations_table IMFS_ops = {
.symlink_h = IMFS_symlink, .symlink_h = IMFS_symlink,
.readlink_h = IMFS_readlink, .readlink_h = IMFS_readlink,
.rename_h = IMFS_rename, .rename_h = IMFS_rename,
.statvfs_h = NULL .statvfs_h = rtems_filesystem_default_statvfs
}; };
int IMFS_initialize( int IMFS_initialize(

View File

@@ -2472,21 +2472,23 @@ cleanup:
struct _rtems_filesystem_operations_table nfs_fs_ops = { struct _rtems_filesystem_operations_table nfs_fs_ops = {
nfs_evalpath, /* MANDATORY */ nfs_evalpath, /* MANDATORY */
nfs_evalformake, /* MANDATORY; may set errno=ENOSYS and return -1 */ nfs_evalformake, /* MANDATORY; may set errno=ENOSYS and return -1 */
nfs_link, /* OPTIONAL; may be NULL */ nfs_link, /* OPTIONAL; may be defaulted */
nfs_unlink, /* OPTIONAL; may be NULL */ nfs_unlink, /* OPTIONAL; may be defaulted */
nfs_node_type, /* OPTIONAL; may be NULL; BUG in mount - no test!! */ nfs_node_type, /* OPTIONAL; may be defaulted; BUG in mount - no test!! */
nfs_mknod, /* OPTIONAL; may be NULL */ nfs_mknod, /* OPTIONAL; may be defaulted */
nfs_chown, /* OPTIONAL; may be NULL */ nfs_chown, /* OPTIONAL; may be defaulted */
nfs_freenode, /* OPTIONAL; may be NULL; (release node_access) */ nfs_freenode, /* OPTIONAL; may be defaulted; (release node_access) */
nfs_mount, /* OPTIONAL; may be NULL */ nfs_mount, /* OPTIONAL; may be defaulted */
rtems_nfsfs_initialize, /* OPTIONAL; may be NULL -- not used anymore */ rtems_nfsfs_initialize, /* OPTIONAL; may be defaulted -- not used anymore */
nfs_unmount, /* OPTIONAL; may be NULL */ nfs_unmount, /* OPTIONAL; may be defaulted */
nfs_fsunmount_me, /* OPTIONAL; may be NULL */ nfs_fsunmount_me, /* OPTIONAL; may be defaulted */
nfs_utime, /* OPTIONAL; may be NULL */ nfs_utime, /* OPTIONAL; may be defaulted */
nfs_eval_link, /* OPTIONAL; may be NULL */ nfs_eval_link, /* OPTIONAL; may be defaulted */
nfs_symlink, /* OPTIONAL; may be NULL */ nfs_symlink, /* OPTIONAL; may be defaulted */
nfs_readlink, /* OPTIONAL; may be NULL */ nfs_readlink, /* OPTIONAL; may be defaulted */
NULL /* OPTIONAL; may be NULL */ rtems_filesystem_default_rename, /* OPTIONAL; may be defaulted */
rtems_filesystem_default_statvfs /* OPTIONAL; may be defaulted */
}; };
/***************************************** /*****************************************
@@ -3125,58 +3127,58 @@ static int nfs_dir_rmnod(
/* the file handlers table */ /* the file handlers table */
static static
struct _rtems_filesystem_file_handlers_r nfs_file_file_handlers = { struct _rtems_filesystem_file_handlers_r nfs_file_file_handlers = {
nfs_file_open, /* OPTIONAL; may be NULL */ nfs_file_open, /* OPTIONAL; may be defaulted */
nfs_file_close, /* OPTIONAL; may be NULL */ nfs_file_close, /* OPTIONAL; may be defaulted */
nfs_file_read, /* OPTIONAL; may be NULL */ nfs_file_read, /* OPTIONAL; may be defaulted */
nfs_file_write, /* OPTIONAL; may be NULL */ nfs_file_write, /* OPTIONAL; may be defaulted */
nfs_file_ioctl, /* OPTIONAL; may be NULL */ nfs_file_ioctl, /* OPTIONAL; may be defaulted */
nfs_file_lseek, /* OPTIONAL; may be NULL */ nfs_file_lseek, /* OPTIONAL; may be defaulted */
nfs_fstat, /* OPTIONAL; may be NULL */ nfs_fstat, /* OPTIONAL; may be defaulted */
nfs_fchmod, /* OPTIONAL; may be NULL */ nfs_fchmod, /* OPTIONAL; may be defaulted */
nfs_file_ftruncate, /* OPTIONAL; may be NULL */ nfs_file_ftruncate, /* OPTIONAL; may be defaulted */
nfs_file_fpathconf, /* OPTIONAL; may be NULL - UNUSED */ nfs_file_fpathconf, /* OPTIONAL; may be defaulted - UNUSED */
nfs_file_fsync, /* OPTIONAL; may be NULL */ nfs_file_fsync, /* OPTIONAL; may be defaulted */
nfs_file_fdatasync, /* OPTIONAL; may be NULL */ nfs_file_fdatasync, /* OPTIONAL; may be defaulted */
nfs_file_fcntl, /* OPTIONAL; may be NULL */ nfs_file_fcntl, /* OPTIONAL; may be defaulted */
nfs_unlink, /* OPTIONAL; may be NULL */ nfs_unlink, /* OPTIONAL; may be defaulted */
}; };
/* the directory handlers table */ /* the directory handlers table */
static static
struct _rtems_filesystem_file_handlers_r nfs_dir_file_handlers = { struct _rtems_filesystem_file_handlers_r nfs_dir_file_handlers = {
nfs_dir_open, /* OPTIONAL; may be NULL */ nfs_dir_open, /* OPTIONAL; may be defaulted */
nfs_dir_close, /* OPTIONAL; may be NULL */ nfs_dir_close, /* OPTIONAL; may be defaulted */
nfs_dir_read, /* OPTIONAL; may be NULL */ nfs_dir_read, /* OPTIONAL; may be defaulted */
nfs_dir_write, /* OPTIONAL; may be NULL */ nfs_dir_write, /* OPTIONAL; may be defaulted */
nfs_dir_ioctl, /* OPTIONAL; may be NULL */ nfs_dir_ioctl, /* OPTIONAL; may be defaulted */
nfs_dir_lseek, /* OPTIONAL; may be NULL */ nfs_dir_lseek, /* OPTIONAL; may be defaulted */
nfs_fstat, /* OPTIONAL; may be NULL */ nfs_fstat, /* OPTIONAL; may be defaulted */
nfs_fchmod, /* OPTIONAL; may be NULL */ nfs_fchmod, /* OPTIONAL; may be defaulted */
nfs_dir_ftruncate, /* OPTIONAL; may be NULL */ nfs_dir_ftruncate, /* OPTIONAL; may be defaulted */
nfs_dir_fpathconf, /* OPTIONAL; may be NULL - UNUSED */ nfs_dir_fpathconf, /* OPTIONAL; may be defaulted - UNUSED */
nfs_dir_fsync, /* OPTIONAL; may be NULL */ nfs_dir_fsync, /* OPTIONAL; may be defaulted */
nfs_dir_fdatasync, /* OPTIONAL; may be NULL */ nfs_dir_fdatasync, /* OPTIONAL; may be defaulted */
nfs_dir_fcntl, /* OPTIONAL; may be NULL */ nfs_dir_fcntl, /* OPTIONAL; may be defaulted */
nfs_dir_rmnod, /* OPTIONAL; may be NULL */ nfs_dir_rmnod, /* OPTIONAL; may be defaulted */
}; };
/* the link handlers table */ /* the link handlers table */
static static
struct _rtems_filesystem_file_handlers_r nfs_link_file_handlers = { struct _rtems_filesystem_file_handlers_r nfs_link_file_handlers = {
nfs_link_open, /* OPTIONAL; may be NULL */ nfs_link_open, /* OPTIONAL; may be defaulted */
nfs_link_close, /* OPTIONAL; may be NULL */ nfs_link_close, /* OPTIONAL; may be defaulted */
nfs_link_read, /* OPTIONAL; may be NULL */ nfs_link_read, /* OPTIONAL; may be defaulted */
nfs_link_write, /* OPTIONAL; may be NULL */ nfs_link_write, /* OPTIONAL; may be defaulted */
nfs_link_ioctl, /* OPTIONAL; may be NULL */ nfs_link_ioctl, /* OPTIONAL; may be defaulted */
nfs_link_lseek, /* OPTIONAL; may be NULL */ nfs_link_lseek, /* OPTIONAL; may be defaulted */
nfs_fstat, /* OPTIONAL; may be NULL */ nfs_fstat, /* OPTIONAL; may be defaulted */
nfs_fchmod, /* OPTIONAL; may be NULL */ nfs_fchmod, /* OPTIONAL; may be defaulted */
nfs_link_ftruncate, /* OPTIONAL; may be NULL */ nfs_link_ftruncate, /* OPTIONAL; may be defaulted */
nfs_link_fpathconf, /* OPTIONAL; may be NULL - UNUSED */ nfs_link_fpathconf, /* OPTIONAL; may be defaulted - UNUSED */
nfs_link_fsync, /* OPTIONAL; may be NULL */ nfs_link_fsync, /* OPTIONAL; may be defaulted */
nfs_link_fdatasync, /* OPTIONAL; may be NULL */ nfs_link_fdatasync, /* OPTIONAL; may be defaulted */
nfs_link_fcntl, /* OPTIONAL; may be NULL */ nfs_link_fcntl, /* OPTIONAL; may be defaulted */
nfs_unlink, /* OPTIONAL; may be NULL */ nfs_unlink, /* OPTIONAL; may be defaulted */
}; };
/* we need a dummy driver entry table to get a /* we need a dummy driver entry table to get a

View File

@@ -1203,19 +1203,19 @@ rtems_rfs_rtems_statvfs (rtems_filesystem_location_info_t* pathloc,
*/ */
const rtems_filesystem_file_handlers_r rtems_rfs_rtems_link_handlers = const rtems_filesystem_file_handlers_r rtems_rfs_rtems_link_handlers =
{ {
.open_h = NULL, .open_h = rtems_filesystem_default_open,
.close_h = NULL, .close_h = rtems_filesystem_default_close,
.read_h = NULL, .read_h = rtems_filesystem_default_read,
.write_h = NULL, .write_h = rtems_filesystem_default_write,
.ioctl_h = NULL, .ioctl_h = rtems_filesystem_default_ioctl,
.lseek_h = NULL, .lseek_h = rtems_filesystem_default_lseek,
.fstat_h = rtems_rfs_rtems_stat, .fstat_h = rtems_rfs_rtems_stat,
.fchmod_h = NULL, .fchmod_h = rtems_filesystem_default_fchmod,
.ftruncate_h = NULL, .ftruncate_h = rtems_filesystem_default_ftruncate,
.fpathconf_h = NULL, .fpathconf_h = rtems_filesystem_default_fpathconf,
.fsync_h = NULL, .fsync_h = rtems_filesystem_default_fsync,
.fdatasync_h = NULL, .fdatasync_h = rtems_filesystem_default_fdatasync,
.fcntl_h = NULL, .fcntl_h = rtems_filesystem_default_fcntl,
.rmnod_h = rtems_rfs_rtems_rmnod .rmnod_h = rtems_rfs_rtems_rmnod
}; };
@@ -1240,12 +1240,12 @@ const rtems_filesystem_operations_table rtems_rfs_ops =
.mknod_h = rtems_rfs_rtems_mknod, .mknod_h = rtems_rfs_rtems_mknod,
.chown_h = rtems_rfs_rtems_chown, .chown_h = rtems_rfs_rtems_chown,
.freenod_h = rtems_rfs_rtems_freenodinfo, .freenod_h = rtems_rfs_rtems_freenodinfo,
.mount_h = NULL, .mount_h = rtems_filesystem_default_mount,
.fsmount_me_h = rtems_rfs_rtems_initialise, .fsmount_me_h = rtems_rfs_rtems_initialise,
.unmount_h = NULL, .unmount_h = rtems_filesystem_default_unmount,
.fsunmount_me_h = rtems_rfs_rtems_shutdown, .fsunmount_me_h = rtems_rfs_rtems_shutdown,
.utime_h = rtems_rfs_rtems_utime, .utime_h = rtems_rfs_rtems_utime,
.eval_link_h = NULL, /* never called cause we lie in the node type */ .eval_link_h = rtems_filesystem_default_evaluate_link, /* never called cause we lie in the node type */
.symlink_h = rtems_rfs_rtems_symlink, .symlink_h = rtems_rfs_rtems_symlink,
.readlink_h = rtems_rfs_rtems_readlink, .readlink_h = rtems_rfs_rtems_readlink,
.rename_h = rtems_rfs_rtems_rename, .rename_h = rtems_rfs_rtems_rename,

View File

@@ -27,6 +27,7 @@ TMP_LIBS += ../libblock/libblock.a
if LIBDOSFS if LIBDOSFS
TMP_LIBS += ../libfs/libdosfs.a TMP_LIBS += ../libfs/libdosfs.a
endif endif
TMP_LIBS += ../libfs/libdefaultfs.a
TMP_LIBS += ../libfs/libimfs.a TMP_LIBS += ../libfs/libimfs.a
TMP_LIBS += ../libfs/librfs.a TMP_LIBS += ../libfs/librfs.a