2009-09-24 4 views
1

Прошло некоторое время с тех пор, как я работал над модулем ядра Linux, и, похоже, я помню, что в открывшейся (открытой) реализации open() было место для скрытия контекста в вашей другой файловой_операции ... Например, если Я хочу поддерживать некоторое состояние, связанное со всеми, кто открывает мой узел устройства, если либо структура inode, либо структура файла, переданная всем функциям file_operations, имеет пустоту *, которую я мог бы заполнить, я мог бы очень легко поддерживать любое количество пользователей. ... Это возможно?Где вы храните пользовательский контекст в драйверах символов Linux?

ответ

2

Найден ответ. «struct file *», который передается всем функциям file_operations, имеет поле «private_data» ... Это пустота *, поэтому вы можете заполнять ее открыто, использовать ее в read(), write() и ioctl() и освободите его в выпуске() ..

 Смежные вопросы

  • Нет связанных вопросов^_^