summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/imfs/imfs_handlers_memfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libfs/src/imfs/imfs_handlers_memfile.c')
-rw-r--r--cpukit/libfs/src/imfs/imfs_handlers_memfile.c30
1 files changed, 24 insertions, 6 deletions
diff --git a/cpukit/libfs/src/imfs/imfs_handlers_memfile.c b/cpukit/libfs/src/imfs/imfs_handlers_memfile.c
index fbc3054bdf..db682bbbbb 100644
--- a/cpukit/libfs/src/imfs/imfs_handlers_memfile.c
+++ b/cpukit/libfs/src/imfs/imfs_handlers_memfile.c
@@ -25,16 +25,16 @@ static int IMFS_stat_file(
struct stat *buf
)
{
- const IMFS_jnode_t *node = loc->node_access;
+ const IMFS_file_t *file = loc->node_access;
- buf->st_size = node->info.file.size;
+ buf->st_size = file->File.size;
buf->st_blksize = imfs_rq_memfile_bytes_per_block;
return IMFS_stat( loc, buf );
}
static const rtems_filesystem_file_handlers_r IMFS_memfile_handlers = {
- .open_h = memfile_open,
+ .open_h = rtems_filesystem_default_open,
.close_h = rtems_filesystem_default_close,
.read_h = memfile_read,
.write_h = memfile_write,
@@ -51,17 +51,35 @@ static const rtems_filesystem_file_handlers_r IMFS_memfile_handlers = {
.writev_h = rtems_filesystem_default_writev
};
+static const rtems_filesystem_file_handlers_r IMFS_linfile_handlers = {
+ .open_h = IMFS_linfile_open,
+ .close_h = rtems_filesystem_default_close,
+ .read_h = IMFS_linfile_read,
+ .write_h = rtems_filesystem_default_write,
+ .ioctl_h = rtems_filesystem_default_ioctl,
+ .lseek_h = rtems_filesystem_default_lseek_file,
+ .fstat_h = IMFS_stat_file,
+ .ftruncate_h = rtems_filesystem_default_ftruncate,
+ .fsync_h = rtems_filesystem_default_fsync_or_fdatasync_success,
+ .fdatasync_h = rtems_filesystem_default_fsync_or_fdatasync_success,
+ .fcntl_h = rtems_filesystem_default_fcntl,
+ .kqfilter_h = rtems_filesystem_default_kqfilter,
+ .poll_h = rtems_filesystem_default_poll,
+ .readv_h = rtems_filesystem_default_readv,
+ .writev_h = rtems_filesystem_default_writev
+};
+
const IMFS_node_control IMFS_node_control_memfile = {
- .imfs_type = IMFS_MEMORY_FILE,
.handlers = &IMFS_memfile_handlers,
+ .node_size = sizeof(IMFS_file_t),
.node_initialize = IMFS_node_initialize_default,
.node_remove = IMFS_node_remove_default,
.node_destroy = IMFS_memfile_remove
};
const IMFS_node_control IMFS_node_control_linfile = {
- .imfs_type = IMFS_LINEAR_FILE,
- .handlers = &IMFS_memfile_handlers,
+ .handlers = &IMFS_linfile_handlers,
+ .node_size = sizeof(IMFS_file_t),
.node_initialize = IMFS_node_initialize_default,
.node_remove = IMFS_node_remove_default,
.node_destroy = IMFS_node_destroy_default