structfile_operations{
structmodule*owner;
loff_t(*llseek)(struct file*,loff_t,int);
ssize_t(*read)(struct file*,char__user*,size_t,loff_t*);
ssize_t(*aio_read)(structkiocb*,char__user*,size_t,loff_t);
ssize_t(*write)(struct file*,constchar__user*,size_t,loff_t*);
ssize_t(*aio_write)(structkiocb*,constchar__user*,size_t,loff_t);
int(*readdir)(struct file*,void*,filldir_t);
unsignedint(*poll)(struct file*,structpoll_table_struct*);
int(*ioctl)(structinode*,struct file*,unsignedint,unsignedlong);
int(*mmap)(struct file*,structvm_area_struct*);
int(*open)(structinode*,struct file*);
int(*flush)(struct file*);
int(*release)(structinode*,struct file*);
int(*fsync)(struct file*,structdentry*,intdatasync);
int(*aio_fsync)(structkiocb*,intdatasync);
int(*fasync)(int,struct file*,int);
int(*lock)(struct file*,int,structfile_lock*);
ssize_t(*readv)(struct file*,conststructiovec*,unsignedlong,loff_t*);
ssize_t(*writev)(struct file*,conststructiovec*,unsignedlong,loff_t*);
ssize_t(*sendfile)(struct file*,loff_t*,size_t,read_actor_t,void__user*);
ssize_t(*sendpage)(struct file*,struct page*,int,size_t,loff_t*,int);
unsignedlong(*get_unmapped_area)(struct file*,unsigned long,unsigned long,unsigned long,unsigned long);
};