Changeset 0ef748fb in rtems


Ignore:
Timestamp:
Dec 13, 2000, 5:53:55 PM (21 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
32f415d
Parents:
b4d0d18e
Message:

2000-12-12 Jake Janovetz <janovetz@…>

  • src/imfs/linearfile.c, src/imfs/imfs_load_tar.c: New files.
  • src/imfs/Makefile.am, src/imfs/imfs.h, src/imfs/imfs_creat.c, src/imfs/imfs_debug.c, src/imfs/imfs_eval.c, src/imfs/imfs_handlers_memfile.c, src/imfs/imfs_init.c, src/imfs/imfs_initsupp.c, src/imfs/imfs_stat.c, src/imfs/miniimfs_init.c: Added "tarfs". This is not really a tar filesystem. It is a way to load a tar image into the IMFS but actually leave bulky file contents in the original tar image. It essentially adds the linear file type and associated support and a loader routine.
Files:
6 added
33 edited

Legend:

Unmodified
Added
Removed
  • c/src/exec/libfs/ChangeLog

    rb4d0d18e r0ef748fb  
     12000-12-12      Jake Janovetz <janovetz@uiuc.edu>
     2
     3        *  src/imfs/linearfile.c, src/imfs/imfs_load_tar.c: New files.
     4        * src/imfs/Makefile.am, src/imfs/imfs.h,
     5        src/imfs/imfs_creat.c, src/imfs/imfs_debug.c,
     6        src/imfs/imfs_eval.c, src/imfs/imfs_handlers_memfile.c,
     7        src/imfs/imfs_init.c, src/imfs/imfs_initsupp.c,
     8        src/imfs/imfs_stat.c, src/imfs/miniimfs_init.c: Added "tarfs".
     9        This is not really a tar filesystem.  It is a way to load a tar
     10        image into the IMFS but actually leave bulky file contents in the
     11        original tar image.  It essentially adds the linear file type and
     12        associated support and a loader routine.
     13
    1142000-11-28      Joel Sherrill <joel@OARcorp.com>
    215
  • c/src/exec/libfs/src/imfs/Makefile.am

    rb4d0d18e r0ef748fb  
    1212    imfs_initsupp.c imfs_link.c imfs_mknod.c imfs_mount.c imfs_fchmod.c \
    1313    imfs_unlink.c imfs_unmount.c imfs_utime.c imfs_ntype.c imfs_stat.c \
    14     imfs_getchild.c memfile.c deviceio.c imfs_handlers_device.c \
     14    imfs_getchild.c memfile.c linearfile.c deviceio.c imfs_handlers_device.c \
    1515    imfs_handlers_directory.c imfs_handlers_link.c imfs_handlers_memfile.c \
    1616    imfs_debug.c imfs_rmnod.c imfs_symlink.c imfs_readlink.c imfs_fdatasync.c \
    17     imfs_fcntl.c ioman.c miniimfs_init.c
     17    imfs_fcntl.c ioman.c miniimfs_init.c imfs_load_tar.c
    1818
    1919UNIX_C_FILES = imfs_unixstub.c
  • c/src/exec/libfs/src/imfs/imfs.h

    rb4d0d18e r0ef748fb  
    9595} IMFS_memfile_t;
    9696
     97typedef struct {
     98  off_t      size;             /* size of file in bytes */
     99  block_p    direct;           /* pointer to file image */
     100} IMFS_linearfile_t;
     101
    97102/*
    98103 *  Important block numbers for "memfiles"
     
    126131#define IMFS_SYM_LINK      RTEMS_FILESYSTEM_SYM_LINK
    127132#define IMFS_MEMORY_FILE   RTEMS_FILESYSTEM_MEMORY_FILE
    128 
    129 #define IMFS_NUMBER_OF_TYPES  (IMFS_MEMORY_FILE + 1)
     133#define IMFS_LINEAR_FILE   (RTEMS_FILESYSTEM_MEMORY_FILE + 1)
     134
     135#define IMFS_NUMBER_OF_TYPES  (IMFS_LINEAR_FILE + 1)
    130136
    131137typedef union {
     
    135141  IMFS_sym_link_t    sym_link;   
    136142  IMFS_memfile_t     file;   
     143  IMFS_linearfile_t  linearfile;   
    137144} IMFS_types_union;
    138145
     
    196203typedef struct {
    197204  ino_t                             ino_count;
     205  rtems_filesystem_file_handlers_r *linearfile_handlers;
    198206  rtems_filesystem_file_handlers_r *memfile_handlers;
    199207  rtems_filesystem_file_handlers_r *directory_handlers;
     
    227235extern rtems_filesystem_file_handlers_r       IMFS_device_handlers;
    228236extern rtems_filesystem_file_handlers_r       IMFS_link_handlers;
     237extern rtems_filesystem_file_handlers_r       IMFS_linearfile_handlers;
    229238extern rtems_filesystem_file_handlers_r       IMFS_memfile_handlers;
    230239extern rtems_filesystem_operations_table      IMFS_ops;
     
    247256   rtems_filesystem_mount_table_entry_t *mt_entry,
    248257   rtems_filesystem_operations_table    *op_table,
     258   rtems_filesystem_file_handlers_r     *linearfile_handlers,
    249259   rtems_filesystem_file_handlers_r     *memfile_handlers,
    250260   rtems_filesystem_file_handlers_r     *directory_handlers
     
    255265);
    256266
     267int rtems_tarfs_mount(
     268   char          *mountpoint,
     269   unsigned char *addr,
     270   unsigned long length
     271);
    257272
    258273/*
     
    399414);
    400415
     416int linearfile_read(
     417  rtems_libio_t *iop,             /* IN  */
     418  void          *buffer,          /* IN  */
     419  unsigned32     count            /* IN  */
     420);
     421
     422int linearfile_lseek(
     423  rtems_libio_t        *iop,        /* IN  */
     424  off_t                 offset,     /* IN  */
     425  int                   whence      /* IN  */
     426);
     427
    401428int memfile_open(
    402429  rtems_libio_t *iop,             /* IN  */
  • c/src/exec/libfs/src/imfs/imfs_creat.c

    rb4d0d18e r0ef748fb  
    101101      break;
    102102
     103    case IMFS_LINEAR_FILE:
     104      node->info.linearfile.size      = 0;
     105      node->info.linearfile.direct    = 0;
     106
    103107    case IMFS_MEMORY_FILE:
    104108      node->info.file.size            = 0;
  • c/src/exec/libfs/src/imfs/imfs_debug.c

    rb4d0d18e r0ef748fb  
    3535  "device",
    3636  "link",
    37   "memory file"
     37  "memory file",
     38  "linear file"
    3839};
    3940
     
    5960      printf( " (device %d, %d)",
    6061        the_jnode->info.device.major, the_jnode->info.device.minor );
     62      break;
     63
     64    case IMFS_LINEAR_FILE:
     65      printf( " (file %d %p)",
     66        (int)the_jnode->info.linearfile.size,
     67        the_jnode->info.linearfile.direct
     68      );
    6169      break;
    6270
  • c/src/exec/libfs/src/imfs/imfs_eval.c

    rb4d0d18e r0ef748fb  
    4646    case IMFS_HARD_LINK:
    4747      loc->handlers = &IMFS_link_handlers;
     48      break;
     49    case IMFS_LINEAR_FILE:
     50      loc->handlers = fs_info->linearfile_handlers;
    4851      break;
    4952    case IMFS_MEMORY_FILE:
  • c/src/exec/libfs/src/imfs/imfs_handlers_memfile.c

    rb4d0d18e r0ef748fb  
    2020 */
    2121
     22rtems_filesystem_file_handlers_r IMFS_linearfile_handlers = {
     23  memfile_open,
     24  memfile_close,
     25  linearfile_read,
     26  NULL,                /* write */
     27  memfile_ioctl,
     28  linearfile_lseek,
     29  IMFS_stat,
     30  NULL,                /* chmod */
     31  NULL,                /* ftruncate */
     32  NULL,                /* fpathconf */
     33  IMFS_fdatasync,      /* fsync */
     34  IMFS_fdatasync,
     35  IMFS_fcntl,
     36  NULL                 /* rmnod */
     37};
     38
    2239rtems_filesystem_file_handlers_r IMFS_memfile_handlers = {
    2340  memfile_open,
  • c/src/exec/libfs/src/imfs/imfs_init.c

    rb4d0d18e r0ef748fb  
    6060     temp_mt_entry,
    6161     &IMFS_ops,
     62     &IMFS_linearfile_handlers,
    6263     &IMFS_memfile_handlers,
    6364     &IMFS_directory_handlers
  • c/src/exec/libfs/src/imfs/imfs_initsupp.c

    rb4d0d18e r0ef748fb  
    3333  rtems_filesystem_mount_table_entry_t *temp_mt_entry,
    3434   rtems_filesystem_operations_table    *op_table,
     35   rtems_filesystem_file_handlers_r     *linearfile_handlers,
    3536   rtems_filesystem_file_handlers_r     *memfile_handlers,
    3637   rtems_filesystem_file_handlers_r     *directory_handlers
     
    7071   */
    7172
    72   fs_info->ino_count          = 1;
    73   fs_info->memfile_handlers   = memfile_handlers;
    74   fs_info->directory_handlers = directory_handlers;
     73  fs_info->ino_count             = 1;
     74  fs_info->linearfile_handlers   = linearfile_handlers;
     75  fs_info->memfile_handlers      = memfile_handlers;
     76  fs_info->directory_handlers    = directory_handlers;
    7577
    7678  jnode = temp_mt_entry->mt_fs_root.node_access;
  • c/src/exec/libfs/src/imfs/imfs_stat.c

    rb4d0d18e r0ef748fb  
    3636      break;
    3737
     38    case IMFS_LINEAR_FILE:
    3839    case IMFS_MEMORY_FILE:
    3940      buf->st_size = the_jnode->info.file.size;
  • c/src/exec/libfs/src/imfs/miniimfs_init.c

    rb4d0d18e r0ef748fb  
    6060      temp_mt_entry,
    6161      &miniIMFS_ops,
     62      &rtems_filesystem_null_handlers,  /* for linearfiles */
    6263      &rtems_filesystem_null_handlers,  /* for memfiles */
    6364      &rtems_filesystem_null_handlers   /* for directories */
  • c/src/libfs/ChangeLog

    rb4d0d18e r0ef748fb  
     12000-12-12      Jake Janovetz <janovetz@uiuc.edu>
     2
     3        *  src/imfs/linearfile.c, src/imfs/imfs_load_tar.c: New files.
     4        * src/imfs/Makefile.am, src/imfs/imfs.h,
     5        src/imfs/imfs_creat.c, src/imfs/imfs_debug.c,
     6        src/imfs/imfs_eval.c, src/imfs/imfs_handlers_memfile.c,
     7        src/imfs/imfs_init.c, src/imfs/imfs_initsupp.c,
     8        src/imfs/imfs_stat.c, src/imfs/miniimfs_init.c: Added "tarfs".
     9        This is not really a tar filesystem.  It is a way to load a tar
     10        image into the IMFS but actually leave bulky file contents in the
     11        original tar image.  It essentially adds the linear file type and
     12        associated support and a loader routine.
     13
    1142000-11-28      Joel Sherrill <joel@OARcorp.com>
    215
  • c/src/libfs/src/imfs/Makefile.am

    rb4d0d18e r0ef748fb  
    1212    imfs_initsupp.c imfs_link.c imfs_mknod.c imfs_mount.c imfs_fchmod.c \
    1313    imfs_unlink.c imfs_unmount.c imfs_utime.c imfs_ntype.c imfs_stat.c \
    14     imfs_getchild.c memfile.c deviceio.c imfs_handlers_device.c \
     14    imfs_getchild.c memfile.c linearfile.c deviceio.c imfs_handlers_device.c \
    1515    imfs_handlers_directory.c imfs_handlers_link.c imfs_handlers_memfile.c \
    1616    imfs_debug.c imfs_rmnod.c imfs_symlink.c imfs_readlink.c imfs_fdatasync.c \
    17     imfs_fcntl.c ioman.c miniimfs_init.c
     17    imfs_fcntl.c ioman.c miniimfs_init.c imfs_load_tar.c
    1818
    1919UNIX_C_FILES = imfs_unixstub.c
  • c/src/libfs/src/imfs/imfs.h

    rb4d0d18e r0ef748fb  
    9595} IMFS_memfile_t;
    9696
     97typedef struct {
     98  off_t      size;             /* size of file in bytes */
     99  block_p    direct;           /* pointer to file image */
     100} IMFS_linearfile_t;
     101
    97102/*
    98103 *  Important block numbers for "memfiles"
     
    126131#define IMFS_SYM_LINK      RTEMS_FILESYSTEM_SYM_LINK
    127132#define IMFS_MEMORY_FILE   RTEMS_FILESYSTEM_MEMORY_FILE
    128 
    129 #define IMFS_NUMBER_OF_TYPES  (IMFS_MEMORY_FILE + 1)
     133#define IMFS_LINEAR_FILE   (RTEMS_FILESYSTEM_MEMORY_FILE + 1)
     134
     135#define IMFS_NUMBER_OF_TYPES  (IMFS_LINEAR_FILE + 1)
    130136
    131137typedef union {
     
    135141  IMFS_sym_link_t    sym_link;   
    136142  IMFS_memfile_t     file;   
     143  IMFS_linearfile_t  linearfile;   
    137144} IMFS_types_union;
    138145
     
    196203typedef struct {
    197204  ino_t                             ino_count;
     205  rtems_filesystem_file_handlers_r *linearfile_handlers;
    198206  rtems_filesystem_file_handlers_r *memfile_handlers;
    199207  rtems_filesystem_file_handlers_r *directory_handlers;
     
    227235extern rtems_filesystem_file_handlers_r       IMFS_device_handlers;
    228236extern rtems_filesystem_file_handlers_r       IMFS_link_handlers;
     237extern rtems_filesystem_file_handlers_r       IMFS_linearfile_handlers;
    229238extern rtems_filesystem_file_handlers_r       IMFS_memfile_handlers;
    230239extern rtems_filesystem_operations_table      IMFS_ops;
     
    247256   rtems_filesystem_mount_table_entry_t *mt_entry,
    248257   rtems_filesystem_operations_table    *op_table,
     258   rtems_filesystem_file_handlers_r     *linearfile_handlers,
    249259   rtems_filesystem_file_handlers_r     *memfile_handlers,
    250260   rtems_filesystem_file_handlers_r     *directory_handlers
     
    255265);
    256266
     267int rtems_tarfs_mount(
     268   char          *mountpoint,
     269   unsigned char *addr,
     270   unsigned long length
     271);
    257272
    258273/*
     
    399414);
    400415
     416int linearfile_read(
     417  rtems_libio_t *iop,             /* IN  */
     418  void          *buffer,          /* IN  */
     419  unsigned32     count            /* IN  */
     420);
     421
     422int linearfile_lseek(
     423  rtems_libio_t        *iop,        /* IN  */
     424  off_t                 offset,     /* IN  */
     425  int                   whence      /* IN  */
     426);
     427
    401428int memfile_open(
    402429  rtems_libio_t *iop,             /* IN  */
  • c/src/libfs/src/imfs/imfs_creat.c

    rb4d0d18e r0ef748fb  
    101101      break;
    102102
     103    case IMFS_LINEAR_FILE:
     104      node->info.linearfile.size      = 0;
     105      node->info.linearfile.direct    = 0;
     106
    103107    case IMFS_MEMORY_FILE:
    104108      node->info.file.size            = 0;
  • c/src/libfs/src/imfs/imfs_debug.c

    rb4d0d18e r0ef748fb  
    3535  "device",
    3636  "link",
    37   "memory file"
     37  "memory file",
     38  "linear file"
    3839};
    3940
     
    5960      printf( " (device %d, %d)",
    6061        the_jnode->info.device.major, the_jnode->info.device.minor );
     62      break;
     63
     64    case IMFS_LINEAR_FILE:
     65      printf( " (file %d %p)",
     66        (int)the_jnode->info.linearfile.size,
     67        the_jnode->info.linearfile.direct
     68      );
    6169      break;
    6270
  • c/src/libfs/src/imfs/imfs_eval.c

    rb4d0d18e r0ef748fb  
    4646    case IMFS_HARD_LINK:
    4747      loc->handlers = &IMFS_link_handlers;
     48      break;
     49    case IMFS_LINEAR_FILE:
     50      loc->handlers = fs_info->linearfile_handlers;
    4851      break;
    4952    case IMFS_MEMORY_FILE:
  • c/src/libfs/src/imfs/imfs_handlers_memfile.c

    rb4d0d18e r0ef748fb  
    2020 */
    2121
     22rtems_filesystem_file_handlers_r IMFS_linearfile_handlers = {
     23  memfile_open,
     24  memfile_close,
     25  linearfile_read,
     26  NULL,                /* write */
     27  memfile_ioctl,
     28  linearfile_lseek,
     29  IMFS_stat,
     30  NULL,                /* chmod */
     31  NULL,                /* ftruncate */
     32  NULL,                /* fpathconf */
     33  IMFS_fdatasync,      /* fsync */
     34  IMFS_fdatasync,
     35  IMFS_fcntl,
     36  NULL                 /* rmnod */
     37};
     38
    2239rtems_filesystem_file_handlers_r IMFS_memfile_handlers = {
    2340  memfile_open,
  • c/src/libfs/src/imfs/imfs_init.c

    rb4d0d18e r0ef748fb  
    6060     temp_mt_entry,
    6161     &IMFS_ops,
     62     &IMFS_linearfile_handlers,
    6263     &IMFS_memfile_handlers,
    6364     &IMFS_directory_handlers
  • c/src/libfs/src/imfs/imfs_initsupp.c

    rb4d0d18e r0ef748fb  
    3333  rtems_filesystem_mount_table_entry_t *temp_mt_entry,
    3434   rtems_filesystem_operations_table    *op_table,
     35   rtems_filesystem_file_handlers_r     *linearfile_handlers,
    3536   rtems_filesystem_file_handlers_r     *memfile_handlers,
    3637   rtems_filesystem_file_handlers_r     *directory_handlers
     
    7071   */
    7172
    72   fs_info->ino_count          = 1;
    73   fs_info->memfile_handlers   = memfile_handlers;
    74   fs_info->directory_handlers = directory_handlers;
     73  fs_info->ino_count             = 1;
     74  fs_info->linearfile_handlers   = linearfile_handlers;
     75  fs_info->memfile_handlers      = memfile_handlers;
     76  fs_info->directory_handlers    = directory_handlers;
    7577
    7678  jnode = temp_mt_entry->mt_fs_root.node_access;
  • c/src/libfs/src/imfs/imfs_stat.c

    rb4d0d18e r0ef748fb  
    3636      break;
    3737
     38    case IMFS_LINEAR_FILE:
    3839    case IMFS_MEMORY_FILE:
    3940      buf->st_size = the_jnode->info.file.size;
  • c/src/libfs/src/imfs/miniimfs_init.c

    rb4d0d18e r0ef748fb  
    6060      temp_mt_entry,
    6161      &miniIMFS_ops,
     62      &rtems_filesystem_null_handlers,  /* for linearfiles */
    6263      &rtems_filesystem_null_handlers,  /* for memfiles */
    6364      &rtems_filesystem_null_handlers   /* for directories */
  • cpukit/libfs/ChangeLog

    rb4d0d18e r0ef748fb  
     12000-12-12      Jake Janovetz <janovetz@uiuc.edu>
     2
     3        *  src/imfs/linearfile.c, src/imfs/imfs_load_tar.c: New files.
     4        * src/imfs/Makefile.am, src/imfs/imfs.h,
     5        src/imfs/imfs_creat.c, src/imfs/imfs_debug.c,
     6        src/imfs/imfs_eval.c, src/imfs/imfs_handlers_memfile.c,
     7        src/imfs/imfs_init.c, src/imfs/imfs_initsupp.c,
     8        src/imfs/imfs_stat.c, src/imfs/miniimfs_init.c: Added "tarfs".
     9        This is not really a tar filesystem.  It is a way to load a tar
     10        image into the IMFS but actually leave bulky file contents in the
     11        original tar image.  It essentially adds the linear file type and
     12        associated support and a loader routine.
     13
    1142000-11-28      Joel Sherrill <joel@OARcorp.com>
    215
  • cpukit/libfs/src/imfs/Makefile.am

    rb4d0d18e r0ef748fb  
    1212    imfs_initsupp.c imfs_link.c imfs_mknod.c imfs_mount.c imfs_fchmod.c \
    1313    imfs_unlink.c imfs_unmount.c imfs_utime.c imfs_ntype.c imfs_stat.c \
    14     imfs_getchild.c memfile.c deviceio.c imfs_handlers_device.c \
     14    imfs_getchild.c memfile.c linearfile.c deviceio.c imfs_handlers_device.c \
    1515    imfs_handlers_directory.c imfs_handlers_link.c imfs_handlers_memfile.c \
    1616    imfs_debug.c imfs_rmnod.c imfs_symlink.c imfs_readlink.c imfs_fdatasync.c \
    17     imfs_fcntl.c ioman.c miniimfs_init.c
     17    imfs_fcntl.c ioman.c miniimfs_init.c imfs_load_tar.c
    1818
    1919UNIX_C_FILES = imfs_unixstub.c
  • cpukit/libfs/src/imfs/imfs.h

    rb4d0d18e r0ef748fb  
    9595} IMFS_memfile_t;
    9696
     97typedef struct {
     98  off_t      size;             /* size of file in bytes */
     99  block_p    direct;           /* pointer to file image */
     100} IMFS_linearfile_t;
     101
    97102/*
    98103 *  Important block numbers for "memfiles"
     
    126131#define IMFS_SYM_LINK      RTEMS_FILESYSTEM_SYM_LINK
    127132#define IMFS_MEMORY_FILE   RTEMS_FILESYSTEM_MEMORY_FILE
    128 
    129 #define IMFS_NUMBER_OF_TYPES  (IMFS_MEMORY_FILE + 1)
     133#define IMFS_LINEAR_FILE   (RTEMS_FILESYSTEM_MEMORY_FILE + 1)
     134
     135#define IMFS_NUMBER_OF_TYPES  (IMFS_LINEAR_FILE + 1)
    130136
    131137typedef union {
     
    135141  IMFS_sym_link_t    sym_link;   
    136142  IMFS_memfile_t     file;   
     143  IMFS_linearfile_t  linearfile;   
    137144} IMFS_types_union;
    138145
     
    196203typedef struct {
    197204  ino_t                             ino_count;
     205  rtems_filesystem_file_handlers_r *linearfile_handlers;
    198206  rtems_filesystem_file_handlers_r *memfile_handlers;
    199207  rtems_filesystem_file_handlers_r *directory_handlers;
     
    227235extern rtems_filesystem_file_handlers_r       IMFS_device_handlers;
    228236extern rtems_filesystem_file_handlers_r       IMFS_link_handlers;
     237extern rtems_filesystem_file_handlers_r       IMFS_linearfile_handlers;
    229238extern rtems_filesystem_file_handlers_r       IMFS_memfile_handlers;
    230239extern rtems_filesystem_operations_table      IMFS_ops;
     
    247256   rtems_filesystem_mount_table_entry_t *mt_entry,
    248257   rtems_filesystem_operations_table    *op_table,
     258   rtems_filesystem_file_handlers_r     *linearfile_handlers,
    249259   rtems_filesystem_file_handlers_r     *memfile_handlers,
    250260   rtems_filesystem_file_handlers_r     *directory_handlers
     
    255265);
    256266
     267int rtems_tarfs_mount(
     268   char          *mountpoint,
     269   unsigned char *addr,
     270   unsigned long length
     271);
    257272
    258273/*
     
    399414);
    400415
     416int linearfile_read(
     417  rtems_libio_t *iop,             /* IN  */
     418  void          *buffer,          /* IN  */
     419  unsigned32     count            /* IN  */
     420);
     421
     422int linearfile_lseek(
     423  rtems_libio_t        *iop,        /* IN  */
     424  off_t                 offset,     /* IN  */
     425  int                   whence      /* IN  */
     426);
     427
    401428int memfile_open(
    402429  rtems_libio_t *iop,             /* IN  */
  • cpukit/libfs/src/imfs/imfs_creat.c

    rb4d0d18e r0ef748fb  
    101101      break;
    102102
     103    case IMFS_LINEAR_FILE:
     104      node->info.linearfile.size      = 0;
     105      node->info.linearfile.direct    = 0;
     106
    103107    case IMFS_MEMORY_FILE:
    104108      node->info.file.size            = 0;
  • cpukit/libfs/src/imfs/imfs_debug.c

    rb4d0d18e r0ef748fb  
    3535  "device",
    3636  "link",
    37   "memory file"
     37  "memory file",
     38  "linear file"
    3839};
    3940
     
    5960      printf( " (device %d, %d)",
    6061        the_jnode->info.device.major, the_jnode->info.device.minor );
     62      break;
     63
     64    case IMFS_LINEAR_FILE:
     65      printf( " (file %d %p)",
     66        (int)the_jnode->info.linearfile.size,
     67        the_jnode->info.linearfile.direct
     68      );
    6169      break;
    6270
  • cpukit/libfs/src/imfs/imfs_eval.c

    rb4d0d18e r0ef748fb  
    4646    case IMFS_HARD_LINK:
    4747      loc->handlers = &IMFS_link_handlers;
     48      break;
     49    case IMFS_LINEAR_FILE:
     50      loc->handlers = fs_info->linearfile_handlers;
    4851      break;
    4952    case IMFS_MEMORY_FILE:
  • cpukit/libfs/src/imfs/imfs_handlers_memfile.c

    rb4d0d18e r0ef748fb  
    2020 */
    2121
     22rtems_filesystem_file_handlers_r IMFS_linearfile_handlers = {
     23  memfile_open,
     24  memfile_close,
     25  linearfile_read,
     26  NULL,                /* write */
     27  memfile_ioctl,
     28  linearfile_lseek,
     29  IMFS_stat,
     30  NULL,                /* chmod */
     31  NULL,                /* ftruncate */
     32  NULL,                /* fpathconf */
     33  IMFS_fdatasync,      /* fsync */
     34  IMFS_fdatasync,
     35  IMFS_fcntl,
     36  NULL                 /* rmnod */
     37};
     38
    2239rtems_filesystem_file_handlers_r IMFS_memfile_handlers = {
    2340  memfile_open,
  • cpukit/libfs/src/imfs/imfs_init.c

    rb4d0d18e r0ef748fb  
    6060     temp_mt_entry,
    6161     &IMFS_ops,
     62     &IMFS_linearfile_handlers,
    6263     &IMFS_memfile_handlers,
    6364     &IMFS_directory_handlers
  • cpukit/libfs/src/imfs/imfs_initsupp.c

    rb4d0d18e r0ef748fb  
    3333  rtems_filesystem_mount_table_entry_t *temp_mt_entry,
    3434   rtems_filesystem_operations_table    *op_table,
     35   rtems_filesystem_file_handlers_r     *linearfile_handlers,
    3536   rtems_filesystem_file_handlers_r     *memfile_handlers,
    3637   rtems_filesystem_file_handlers_r     *directory_handlers
     
    7071   */
    7172
    72   fs_info->ino_count          = 1;
    73   fs_info->memfile_handlers   = memfile_handlers;
    74   fs_info->directory_handlers = directory_handlers;
     73  fs_info->ino_count             = 1;
     74  fs_info->linearfile_handlers   = linearfile_handlers;
     75  fs_info->memfile_handlers      = memfile_handlers;
     76  fs_info->directory_handlers    = directory_handlers;
    7577
    7678  jnode = temp_mt_entry->mt_fs_root.node_access;
  • cpukit/libfs/src/imfs/imfs_stat.c

    rb4d0d18e r0ef748fb  
    3636      break;
    3737
     38    case IMFS_LINEAR_FILE:
    3839    case IMFS_MEMORY_FILE:
    3940      buf->st_size = the_jnode->info.file.size;
  • cpukit/libfs/src/imfs/miniimfs_init.c

    rb4d0d18e r0ef748fb  
    6060      temp_mt_entry,
    6161      &miniIMFS_ops,
     62      &rtems_filesystem_null_handlers,  /* for linearfiles */
    6263      &rtems_filesystem_null_handlers,  /* for memfiles */
    6364      &rtems_filesystem_null_handlers   /* for directories */
Note: See TracChangeset for help on using the changeset viewer.