source: rtems/cpukit/libfs/src/imfs/imfs_handlers_memfile.c @ c17d0b3

4.115
Last change on this file since c17d0b3 was df01da67, checked in by Sebastian Huber <sebastian.huber@…>, on 05/14/12 at 11:16:31

Filesystem: Use ioctl_command_t

  • Property mode set to 100644
File size: 1.5 KB
Line 
1/*
2 *  Memfile Operations Tables for the IMFS
3 *
4 *  COPYRIGHT (c) 1989-1999.
5 *  On-Line Applications Research Corporation (OAR).
6 *
7 *  The license and distribution terms for this file may be
8 *  found in the file LICENSE in this distribution or at
9 *  http://www.rtems.com/license/LICENSE.
10 */
11
12#if HAVE_CONFIG_H
13  #include "config.h"
14#endif
15
16#include "imfs.h"
17
18static int IMFS_stat_file(
19  const rtems_filesystem_location_info_t *loc,
20  struct stat *buf
21)
22{
23  const IMFS_jnode_t *node = loc->node_access;
24
25  buf->st_size = node->info.file.size;
26  buf->st_blksize = imfs_rq_memfile_bytes_per_block;
27
28  return IMFS_stat( loc, buf );
29}
30
31static const rtems_filesystem_file_handlers_r IMFS_memfile_handlers = {
32  memfile_open,
33  rtems_filesystem_default_close,
34  memfile_read,
35  memfile_write,
36  rtems_filesystem_default_ioctl,
37  rtems_filesystem_default_lseek_file,
38  IMFS_stat_file,
39  memfile_ftruncate,
40  rtems_filesystem_default_fsync_or_fdatasync_success,
41  rtems_filesystem_default_fsync_or_fdatasync_success,
42  rtems_filesystem_default_fcntl
43};
44
45const IMFS_node_control IMFS_node_control_memfile = {
46  .imfs_type = IMFS_MEMORY_FILE,
47  .handlers = &IMFS_memfile_handlers,
48  .node_initialize = IMFS_node_initialize_default,
49  .node_remove = IMFS_node_remove_default,
50  .node_destroy = IMFS_memfile_remove
51};
52
53const IMFS_node_control IMFS_node_control_linfile = {
54  .imfs_type = IMFS_LINEAR_FILE,
55  .handlers = &IMFS_memfile_handlers,
56  .node_initialize = IMFS_node_initialize_default,
57  .node_remove = IMFS_node_remove_default,
58  .node_destroy = IMFS_node_destroy_default
59};
Note: See TracBrowser for help on using the repository browser.