#include "file_struct.h"
int file_read(struct file_struct *file, unsigned long *pos, char *fs_buf, unsigned int count)
{
int rv;
if ((rv = file->file_operations->read(file, *pos, fs_buf, count)) < 0)
return rv;
*pos += rv;
return rv;
}
int file_write(struct file_struct *file, unsigned long *pos, const char *fs_buf, unsigned int count)
{
int rv;
if ((rv = file->file_operations->write(file, *pos, fs_buf, count)) < 0)
return rv;
*pos += rv;
return rv;
}
long file_seek(const struct file_struct *file, unsigned long *pos, long offset, int whence)
{
long rv;
if ((rv = file->file_operations->seek(file, *pos, offset, whence)) < 0)
return rv;
*pos = rv;
return rv;
}
int file_stat(const struct file_struct *file, struct stat_struct *fs_buf)
{
return file->file_operations->stat(file, fs_buf);
}
int file_ioctl(const struct file_struct *file, int request, void *fs_arg)
{
return file->file_operations->ioctl(file, request, fs_arg);
}