Главная » Ядро Linux » Типы ktyp e

0

Объекты kobjec t могут быть связаны с определенным типом, который называется ktype. Типы  ktype представляются с помощью структуры struc t  kobj_type, определенной в файле <linux/kobject.h > следующим образом.

struct kobj_type {

void (*release)(struct kobject *) ; struct sysfs_ops       *sysfs_ops; struct attribute       **default_attrs;

};

Тип ktype имеет простое назначение— представлять общее поведение для некоторого семейства объектов  kobject. Вместо того чтобы для каждого отдельного объекта задавать особенности поведения, эти особенности связываются с их полем ktype, и объекты одного "типа" характеризуются одинаковым поведением.

Поле releas e содержит указатель на деструктор, который вызывается, когда количество ссылок на объект становится равным нулю. Эта функция отвечает за  освобождение памяти, связанной с объектом, и за другие операции очистки.

Поле  sysfs_ops указывает  на  структуру  sysfs_ops. Эта  структура  определяет поведение файлов на файловой системе sysfs при выполнении операций записи и чтения. Более детально она рассматривается в разделе "Добавлепие файлов на файловой системе sysfs".

Наконец, поле default_attr s  указывает на массив структур attribute . Эти структуры определяют атрибуты, которые связаны с объектом kobject и используются но умолчанию. Атрибуты соответствуют свойствам данного объекта. Если некоторый объект kobject экспортируется  через файловую систему sysfs, то атрибуты экспортируются как отдельные файлы. Последний элемент этого массива должен содержать значению NULL.

Источник: Лав,  Роберт. Разработка ядра  Linux, 2-е  издание. : Пер.  с англ.  — М.  : ООО  «И.Д.  Вильяме» 2006. — 448 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии