Читаем Разработка ядра Linux полностью

 struct list_head        i_list;         /* связанный список индексов */

 struct list_head        i_dentry; /* связанный список объектов dentry */

 unsigned long           i_ino;          /* номер индекса */

 atomic_t                i_count;        /* счетчик ссылок */

 umode_t                 i_mode;         /* права доступа */

 unsigned int            i_nlink;        /* количество жестких ссылок */

 uid_t                   i_uid; /* идентификатор пользователя-владельца */

 gid_t                   i_gid; /* идентификатор группы-владельца */

 kdev_t                  i_rdev;         /* связанное устройство */

 loff_t                  i_size;         /* размер файла в байтах */

 struct timespec         i_atime; /* время последнего доступа к файлу */

 struct timespec         i_mtime; /* время последнего изменения файла */

 struct timespec         i_ctime;        /* время изменения индекса */

 unsigned int            i_blkbits;      /* размер блока в битах */

 unsigned long           i_blksize;      /* размер блока в байтах */

 unsigned long           i_version;      /* номер версии */

 unsigned long           i_blocks;       /* размер файла в блоках */

 unsigned short          i_bytes; /* количество использованных байтов */

 spinlock_t              i_lock;         /* блокировка для защиты полей */

 struct rw_semaphore     i_alloc_sem     /* вложенные блокировки при

                                            захваченной i_sem */

 struct semaphore        i_sem;          /* семафор индекса */

 struct inode_operations *i_op;          /* таблица операций с индексом */

 struct file_operations  *i_fop;         /* файловые операции */

 struct super_block      *i_sb;          /* связанный суперблок */

 struct file_lock        *i_flock;       /* список блокировок файлов */

 struct address_space    *i_mapping;     /* соответствующее адресное

                                            пространство */

 struct address_space    i_data; /* адресное пространство устройства */

 struct dquot            *i_dquot[MAXQUOTAS]; /* дисковые квоты

                                                 для индекса */

 struct list_head        i_devices;      /* список блочных устройств */

 struct pipe_inode_info  *i_pipe;        /* информация конвейера */

 struct block_device     *i_bdev;        /* драйвер блочного устройства */

 unsigned long           i_dnotify_mask; /* события каталога */

 struct dnotify_struct   *i_dnotify; /* информация о событиях каталога */

 unsigned long           i_state;        /* флаги состояния */

 unsigned long           dirtied_when    /* время первого изменения */

 unsigned int            i_flags;        /* флаги файловой системы */

Перейти на страницу:

Похожие книги

C++: базовый курс
C++: базовый курс

В этой книге описаны все основные средства языка С++ - от элементарных понятий до супервозможностей. После рассмотрения основ программирования на C++ (переменных, операторов, инструкций управления, функций, классов и объектов) читатель освоит такие более сложные средства языка, как механизм обработки исключительных ситуаций (исключений), шаблоны, пространства имен, динамическая идентификация типов, стандартная библиотека шаблонов (STL), а также познакомится с расширенным набором ключевых слов, используемым в .NET-программировании. Автор справочника - общепризнанный авторитет в области программирования на языках C и C++, Java и C# - включил в текст своей книги и советы программистам, которые позволят повысить эффективность их работы. Книга рассчитана на широкий круг читателей, желающих изучить язык программирования С++.

Герберт Шилдт

Программирование, программы, базы данных