Книга: Разработка ядра Linux
Типы ktype
Типы ktype
Объекты kobject
могут быть связаны с определенным типом, который называется ktype
. Типы ktype
представляются с помощью структуры struct kobj_type
, определенной в файле <linux/kobject.h>
следующим образом.
struct kobj_type {
void (*release)(struct kobject*);
struct sysfs_ops *sysfs_ops;
struct attribute **default_attrs;
};
Тип ktype
имеет простое назначение — представлять общее поведение для некоторого семейства объектов kobject
. Вместо того чтобы для каждого отдельного объекта задавать особенности поведения, эти особенности связываются с их полем ktype
, и объекты одного "типа" характеризуются одинаковым поведением.
Поле release
содержит указатель на деструктор, который вызывается, когда количество ссылок на объект становится равным нулю. Эта функция отвечает за освобождение памяти, связанной с объектом, и за другие операции очистки.
Поле sysfs_ops
указывает на структуру sysfs_ops
. Эта структура определяет поведение файлов на файловой системе sysfs
при выполнении операций записи и чтения. Более детально она рассматривается в разделе "Добавление файлов на файловой системе sysfs".
Наконец, поле default_attrs
указывает на массив структур attribute
. Эти структуры определяют атрибуты, которые связаны с объектом kobject
и используются но умолчанию. Атрибуты соответствуют свойствам данного объекта. Если некоторый объект kobject
экспортируется через файловую систему sysfs, то атрибуты экспортируются как отдельные файлы. Последний элемент этого массива должен содержать значению NULL
.
- Типы данных для работы с датой и временем
- Большие целые типы
- Типы страниц и их использование
- 1.2.3. Константы, переменные и типы
- 4. Лекция: Типы данных
- 9.1. Классы и прототипы
- 4. Кортежи. Типы кортежей
- 5. Отношения. Типы отношений
- 1. Базовые типы данных
- 1. Различные типы и кратности связей
- 1.7 Иерархия драйверов систем хранения и типы драйверов
- 4.5 Типы портов Fibre Channel