Драйвер “memory”: открытие устройства как файл |
Предыдущая Содержание Следующая |
Функцией пространства ядра, которая соответствует открытию файла в пользовательском пространстве (fopen), в вызове register_chrdev является член open структуры file_operations. В данном случае это функция memory_open. Она принимает в качестве аргумента: структуру inode, которая посылает в ядро информацию о старшем и младшем номере, и структуру file с информацией о различных операциях, которые можно выполнять с файлом. В рамках настоящей статьи ни одна из этих функций подробно рассматриваться не будет.
При открытии файла обычно необходимо проинициализировать переменные драйвера или сбросить устройство. Хотя в этом простом примере эти операции не выполняются.
Функцию memory_open можно увидеть ниже:
<memory open> =
int memory_open(struct inode *inode, struct file *filp) {
/* Success */ return 0; }
Эта новая функция теперь показана в Таблице 5.
Таблица 5. События драйвера устройства и связанные с ними интерфейсные функции в пространстве ядра и пользовательском пространстве. | |||||||||||||||||||||
Предыдущая Содержание Следующая |