*参照元 [#c699075b]
#backlinks

*説明 [#sc1aee86]
-パス: [[linux-4.4.1/include/linux/fs.h]]

-FIXME: これは何?
--説明


**参考 [#zb7dc8b4]


*実装 [#b0245bf7]
 struct file_operations {
         struct module *owner;
-
--[[linux-4.4.1/module]]

         loff_t (*llseek) (struct file *, loff_t, int);
-
--[[linux-4.4.1/file]]
--[[linux-4.4.1/loff_t]]

         ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
         ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
         ssize_t (*read_iter) (struct kiocb *, struct iov_iter *);
         ssize_t (*write_iter) (struct kiocb *, struct iov_iter *);

-
--[[linux-4.4.1/kiocb]]
--[[linux-4.4.1/iov_iter]]

         int (*iterate) (struct file *, struct dir_context *);
-
--[[linux-4.4.1/dir_context]]

         unsigned int (*poll) (struct file *, struct poll_table_struct *);
-
--[[linux-4.4.1/poll_table_struct]]

         long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
         long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
         int (*mmap) (struct file *, struct vm_area_struct *);
-
--[[linux-4.4.1/vm_area_struct]]

         int (*open) (struct inode *, struct file *);
-
--[[linux-4.4.1/inode]]

         int (*flush) (struct file *, fl_owner_t id);
-
--[[linux-4.4.1/fl_owner_t]]

         int (*release) (struct inode *, struct file *);
         int (*fsync) (struct file *, loff_t, loff_t, int datasync);
         int (*aio_fsync) (struct kiocb *, int datasync);
         int (*fasync) (int, struct file *, int);
         int (*lock) (struct file *, int, struct file_lock *);
-
--[[linux-4.4.1/file_lock]]

         ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
-
--[[linux-4.4.1/page]]

         unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
         int (*check_flags)(int);
         int (*flock) (struct file *, int, struct file_lock *);
         ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
         ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
-
--[[linux-4.4.1/pipe_inode_info]]

         int (*setlease)(struct file *, long, struct file_lock **, void **);
         long (*fallocate)(struct file *file, int mode, loff_t offset,
                           loff_t len);
         void (*show_fdinfo)(struct seq_file *m, struct file *f);
-
--[[linux-4.4.1/seq_file]]

 #ifndef CONFIG_MMU
-
--[[linux-4.4.1/CONFIG_MMU]]

         unsigned (*mmap_capabilities)(struct file *);
 #endif
 };


*コメント [#u8255ef8]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS