\subsection*{file}
Each open file, socket etcetera is represented by a \ds{file} data structure.
\SeeModule{include/linux/\\fs.h}
\begin{tscreen}\begin{verbatim}
struct file {
  mode_t f_mode;
  loff_t f_pos;
  unsigned short f_flags;
  unsigned short f_count;
  unsigned long f_reada, f_ramax, f_raend, f_ralen, f_rawin;
  struct file *f_next, *f_prev;
  int f_owner;         /* pid or -pgrp where SIGIO should be sent */
  struct inode * f_inode;
  struct file_operations * f_op;
  unsigned long f_version;
  void *private_data;  /* needed for tty driver, and maybe others */
};
\end{verbatim}\end{tscreen}
