файл структуры в драйвере Linux

В настоящее время я учусь писать драйверы устройств Linux, и у меня проблемы с пониманием " struct file ". Я использую книгу Linux Device Drivers 3rd edition, чтобы помочь мне.

Это то, что я понял.

а. Файл структуры представляет собой открытый файл, поэтому при вызове open в модуле драйвера устройства ядро ​​создаст файл структуры, который включает все, что связано с драйвером устройства.

б. Если вы хотите передать этот экземпляр драйвера устройства, то нужно передать указатель на конкретный файл структуры , который был создан ядром после open ()

c. file-> private_data всегда будет возвращать указатель на устройство.

Другой вопрос, связанный с этим, - это поле « f_pos ». В книге сказано, что драйвер может прочитать это значение, если он хочет узнать текущую позицию в файле. Это то, что я понимаю из этого.

d. Если struct foo_dev и если общий объем памяти, используемый этим драйвером для хранения данных, равен X , тогда f_pos указывает на текущую позицию в этом блоке памяти, зарезервированном драйвером.

Насколько я понял правильно, поправьте меня, где я ошибаюсь.

Спасибо,

Еще один вопрос, связанный с этим, - это поле « f_pos ». В книге сказано, что драйвер может прочитать это значение, если он хочет узнать текущую позицию в файле. Это то, что я понимаю из этого.

d. Если struct foo_dev и если общий объем памяти, используемый этим драйвером для хранения данных, равен X , тогда f_pos указывает на текущую позицию в этом блоке памяти, зарезервированном драйвером.

Насколько я понял правильно, поправьте меня, где я ошибаюсь.

Спасибо,

Еще один вопрос, связанный с этим, - это поле « f_pos ». В книге говорится, что драйвер может прочитать это значение, если он хочет узнать текущую позицию в файле. Это то, что я понимаю из этого.

d. Если struct foo_dev и если общий объем памяти, используемый этим драйвером для хранения данных, равен X , тогда f_pos указывает на текущую позицию в этом блоке памяти, зарезервированном драйвером.

Насколько я понял правильно, поправьте меня, где я ошибаюсь.

Спасибо,
Если struct foo_dev и если общий объем памяти, используемый этим драйвером для хранения данных, равен X , тогда f_pos указывает на текущую позицию в этом блоке памяти, зарезервированном драйвером.

Насколько я понял правильно, поправьте меня, где я ошибаюсь.

Спасибо,
Если struct foo_dev и если общий объем памяти, используемый этим драйвером для хранения данных, равен X , тогда f_pos указывает на текущую позицию в этом блоке памяти, зарезервированном драйвером.

Насколько я понял правильно, поправьте меня, где я ошибаюсь.

Спасибо,
Мир

11
задан Sagar Jain 25 April 2014 в 06:33
поделиться