diff options
Diffstat (limited to 'cpukit/libfs/src/imfs/imfs_linfile.c')
-rw-r--r-- | cpukit/libfs/src/imfs/imfs_linfile.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/cpukit/libfs/src/imfs/imfs_linfile.c b/cpukit/libfs/src/imfs/imfs_linfile.c index f53930d4b0..2044cc66fc 100644 --- a/cpukit/libfs/src/imfs/imfs_linfile.c +++ b/cpukit/libfs/src/imfs/imfs_linfile.c @@ -95,9 +95,25 @@ static const rtems_filesystem_file_handlers_r IMFS_linfile_handlers = { .writev_h = rtems_filesystem_default_writev }; +static IMFS_jnode_t *IMFS_node_initialize_linfile( + IMFS_jnode_t *node, + void *arg +) +{ + IMFS_linearfile_t *linfile; + IMFS_linearfile_context *ctx; + + linfile = (IMFS_linearfile_t *) node; + ctx = arg; + linfile->File.size = ctx->size; + linfile->direct = RTEMS_DECONST( void *, ctx->data ); + + return node; +} + const IMFS_node_control IMFS_node_control_linfile = { .handlers = &IMFS_linfile_handlers, - .node_initialize = IMFS_node_initialize_default, + .node_initialize = IMFS_node_initialize_linfile, .node_remove = IMFS_node_remove_default, .node_destroy = IMFS_node_destroy_default }; |