From 29e92b090c8bc35745aa5c89231ce806bcb11e57 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Mon, 31 May 2010 13:56:37 +0000 Subject: 2010-05-31 Chris Johns * libcsupport/Makefile.am: Add mount-mgr.c. * libcsupport/src/mount-mgr.c: New. * include/rtems/fs.h: Added rtems_filesystem_location_mount. * libcsupport/include/rtems/libio.h, libcsupport/src/mount.c: New mount interface. It is similar to Linux. * libcsupport/include/rtems/libio_.h: Remove the init_fs_mount_table call. * libcsupport/src/base_fs.c: Remove init_fs_mount_table_call. Use the new mount call. Remove setting the root node in the global pathloc. Mount does this now. * libcsupport/src/privateenv.c: Remove the hack to set the root mount table entry in the environment. * libcsupport/src/unmount.cL Free the target string. * libblock/src/bdpart-mount.c: New mount API. * libfs/src/devfs/devfs.h, libfs/src/devfs/devfs_init.c, libfs/src/dosfs/dosfs.h, libfs/src/dosfs/msdos.h, libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs.h, libfs/src/imfs/imfs_eval.c, libfs/src/imfs/imfs_init.c, libfs/src/imfs/miniimfs_init.c, libfs/src/nfsclient/src/librtemsNfs.h, libfs/src/rfs/rtems-rfs-rtems.c, libfs/src/rfs/rtems-rfs.h, libnetworking/lib/ftpfs.c, libnetworking/rtems/ftpfs.h, libnetworking/rtems/tftp.h: New mount_h API. * libfs/src/devfs/devfs_eval.c: Local include of extern ops. * libfs/src/nfsclient/src/nfs.c: New mount API. Removed the mount me call and fixed the initialisation to happen when mounting. * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Remove mount filesystem files. * libmisc/fsmount/fsmount.c, libmisc/fsmount/fsmount.h: Updated to the new mount table values. * libmisc/shell/main_mount_ftp.c, libmisc/shell/main_mount_msdos.c, libmisc/shell/main_mount_rfs.c, libmisc/shell/main_mount_tftp.c: Removed. * libmisc/shell/main_mount.c: Use the new mount API. Also access the file system table for the file system types. * libnetworking/lib/tftpDriver.c: Updated to the new mount API. Fixed to allow mounting from any mount point. Also can now have more than file system mounted. * sapi/include/confdefs.h: Add file system configuration support. --- cpukit/libmisc/fsmount/fsmount.h | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'cpukit/libmisc/fsmount/fsmount.h') diff --git a/cpukit/libmisc/fsmount/fsmount.h b/cpukit/libmisc/fsmount/fsmount.h index 0841a6fe49..15597c31ff 100644 --- a/cpukit/libmisc/fsmount/fsmount.h +++ b/cpukit/libmisc/fsmount/fsmount.h @@ -90,24 +90,24 @@ typedef enum { */ typedef struct { /** - * Device file path. + * Source for the mount. */ - const char *dev; + const char *source; /** - * Mount point path. + * Target for the mount. */ - const char *mount_point; + const char *target; /** * File system operations. */ - const rtems_filesystem_operations_table *fs_ops; + const char *type; /** * File system mount options. */ - rtems_filesystem_options_t mount_options; + rtems_filesystem_options_t options; /** * Report @ref rtems_fstab_conditions "condition flags". @@ -128,7 +128,7 @@ typedef struct { * * @see rtems_fsmount(). */ -int rtems_fsmount_create_mount_point( const char *mount_point); +int rtems_fsmount_create_mount_point(const char *mount_point); /** * Mounts the file systems listed in the file system mount table @a fstab of @@ -160,23 +160,22 @@ int rtems_fsmount_create_mount_point( const char *mount_point); * * #include * #include - * #include * #include * #include * * static const rtems_fstab_entry fstab [] = { * { - * .dev = "/dev/sd-card-a", - * .mount_point = "/mnt", - * .fs_ops = &msdos_ops, - * .mount_options = RTEMS_FILESYSTEM_READ_WRITE, + * .source = "/dev/sd-card-a", + * .target = "/mnt", + * .type = "dosfs", + * .options = RTEMS_FILESYSTEM_READ_WRITE, * .report_reasons = RTEMS_FSTAB_ANY, * .abort_reasons = RTEMS_FSTAB_OK * }, { - * .dev = "/dev/sd-card-a1", - * .mount_point = "/mnt", - * .fs_ops = &msdos_ops, - * .mount_options = RTEMS_FILESYSTEM_READ_WRITE, + * .source = "/dev/sd-card-a1", + * .target = "/mnt", + * .type = "dosfs", + * .options = RTEMS_FILESYSTEM_READ_WRITE, * .report_reasons = RTEMS_FSTAB_ANY, * .abort_reasons = RTEMS_FSTAB_NONE * } -- cgit v1.2.3