diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-12-16 13:44:13 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-12-20 10:31:53 +0100 |
commit | 2f68778f08471fb7f13a8634ebb48c6db13c0f69 (patch) | |
tree | eae0deea88cc0d81052f8497a668dfaeecd6de40 /cpukit/libfs/src/dosfs/msdos_handlers_dir.c | |
parent | 95a57280ebc3996547fccd6065a5652a846d1447 (diff) |
Filesystem: Add readv/writev handlers
The readv() and writev() support was implemented in terms of multiple
calls to the read and write handlers. This imposes a problem on device
files which use an IO vector as single request entity. For example a
low-level network device (e.g. BPF(4)) may use an IO vector to create
one frame from multiple protocol layers each with its own IO vector
entry.
Diffstat (limited to 'cpukit/libfs/src/dosfs/msdos_handlers_dir.c')
-rw-r--r-- | cpukit/libfs/src/dosfs/msdos_handlers_dir.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/cpukit/libfs/src/dosfs/msdos_handlers_dir.c b/cpukit/libfs/src/dosfs/msdos_handlers_dir.c index 41efdb439d..6d91603952 100644 --- a/cpukit/libfs/src/dosfs/msdos_handlers_dir.c +++ b/cpukit/libfs/src/dosfs/msdos_handlers_dir.c @@ -22,15 +22,17 @@ #include "msdos.h" const rtems_filesystem_file_handlers_r msdos_dir_handlers = { - rtems_filesystem_default_open, - rtems_filesystem_default_close, - msdos_dir_read, - rtems_filesystem_default_write, - rtems_filesystem_default_ioctl, - rtems_filesystem_default_lseek_directory, - msdos_dir_stat, - rtems_filesystem_default_ftruncate_directory, - msdos_sync, - msdos_sync, - rtems_filesystem_default_fcntl + .open_h = rtems_filesystem_default_open, + .close_h = rtems_filesystem_default_close, + .read_h = msdos_dir_read, + .write_h = rtems_filesystem_default_write, + .ioctl_h = rtems_filesystem_default_ioctl, + .lseek_h = rtems_filesystem_default_lseek_directory, + .fstat_h = msdos_dir_stat, + .ftruncate_h = rtems_filesystem_default_ftruncate_directory, + .fsync_h = msdos_sync, + .fdatasync_h = msdos_sync, + .fcntl_h = rtems_filesystem_default_fcntl, + .readv_h = rtems_filesystem_default_readv, + .writev_h = rtems_filesystem_default_writev }; |