summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/dosfs/msdos_handlers_file.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-12-16 13:44:13 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-12-20 10:31:53 +0100
commit2f68778f08471fb7f13a8634ebb48c6db13c0f69 (patch)
treeeae0deea88cc0d81052f8497a668dfaeecd6de40 /cpukit/libfs/src/dosfs/msdos_handlers_file.c
parentlibcsupport: Add and use rtems_libio_iovec_eval() (diff)
downloadrtems-2f68778f08471fb7f13a8634ebb48c6db13c0f69.tar.bz2
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_file.c')
-rw-r--r--cpukit/libfs/src/dosfs/msdos_handlers_file.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/cpukit/libfs/src/dosfs/msdos_handlers_file.c b/cpukit/libfs/src/dosfs/msdos_handlers_file.c
index 2a3938d02a..d5885bb688 100644
--- a/cpukit/libfs/src/dosfs/msdos_handlers_file.c
+++ b/cpukit/libfs/src/dosfs/msdos_handlers_file.c
@@ -22,15 +22,17 @@
#include "msdos.h"
const rtems_filesystem_file_handlers_r msdos_file_handlers = {
- rtems_filesystem_default_open,
- msdos_file_close,
- msdos_file_read,
- msdos_file_write,
- rtems_filesystem_default_ioctl,
- rtems_filesystem_default_lseek_file,
- msdos_file_stat,
- msdos_file_ftruncate,
- msdos_file_sync,
- msdos_sync,
- rtems_filesystem_default_fcntl
+ .open_h = rtems_filesystem_default_open,
+ .close_h = msdos_file_close,
+ .read_h = msdos_file_read,
+ .write_h = msdos_file_write,
+ .ioctl_h = rtems_filesystem_default_ioctl,
+ .lseek_h = rtems_filesystem_default_lseek_file,
+ .fstat_h = msdos_file_stat,
+ .ftruncate_h = msdos_file_ftruncate,
+ .fsync_h = msdos_file_sync,
+ .fdatasync_h = msdos_sync,
+ .fcntl_h = rtems_filesystem_default_fcntl,
+ .readv_h = rtems_filesystem_default_readv,
+ .writev_h = rtems_filesystem_default_writev
};