*参照元 [#h54a7ecd] #backlinks *説明 [#ifb8affb] -パス: [[linux-2.6.33/include/linux/fs.h]] -FIXME: これは何? --説明 **参考 [#u594813d] *実装 [#yaa70c9b] struct file { /* * fu_list becomes invalid after file_free is called and queued via * fu_rcuhead for RCU freeing */ union { struct list_head fu_list; - --[[linux-2.6.33/list_head]] struct rcu_head fu_rcuhead; - --[[linux-2.6.33/rcu_head]] } f_u; struct path f_path; - --[[linux-2.6.33/path]] #define f_dentry f_path.dentry #define f_vfsmnt f_path.mnt const struct file_operations *f_op; - --[[linux-2.6.33/file_operations]] spinlock_t f_lock; /* f_ep_links, f_flags, no IRQ */ - --[[linux-2.6.33/spinlock_t]] atomic_long_t f_count; - --[[linux-2.6.33/atomic_long_t]] unsigned int f_flags; fmode_t f_mode; - --[[linux-2.6.33/fmode_t]] loff_t f_pos; - -現在のファイル位置、この位置から read, write が行われる。 --[[linux-2.6.33/loff_t]] struct fown_struct f_owner; - --[[linux-2.6.33/fown_struct]] const struct cred *f_cred; - --[[linux-2.6.33/cred]] struct file_ra_state f_ra; - --[[linux-2.6.33/file_ra_state]] u64 f_version; #ifdef CONFIG_SECURITY void *f_security; #endif /* needed for tty driver, and maybe others */ void *private_data; #ifdef CONFIG_EPOLL /* Used by fs/eventpoll.c to link all the hooks to this file */ struct list_head f_ep_links; #endif /* #ifdef CONFIG_EPOLL */ struct address_space *f_mapping; - --[[linux-2.6.33/address_space]] #ifdef CONFIG_DEBUG_WRITECOUNT unsigned long f_mnt_write_state; #endif }; *コメント [#taefe05e]