*参照元 [#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]

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