LINUX.ORG.RU

read/write/ioctl

 fops,


0

1

Имеется достаточно простой драйвер символьного устройства, в котором чтение и запись реализованы почему-то через ioctl а не через read/write. (Функции read и write возвращают -EFAULT.) Драйвер писал человек, связаться с которым сейчас невозможно. Вопрос: зачем такое могло быть нужно сделать?

Ответ на: комментарий от x0r

Сомнительно... устройство очень узкоспециализированное и мелкосерийное (можно сказать, самопальное), никому в голову не придёт его пытаться класть... Более похоже на то, что это потому, что там через один канал чтения-записи фактически пропускается несколько независимых потоков данных, и поэтому для такого вот мультиплексирования-демультиплексирования так и сделано... но это только гипотеза и она мне только сейчас пришла в голову.

FatherTorque
() автор топика
Ответ на: комментарий от FatherTorque

светофор енто-чо, иль стрелки наверн.

anonymous
()
Ответ на: комментарий от FatherTorque

там через один канал чтения-записи фактически пропускается несколько независимых потоков данных, и поэтому для такого вот мультиплексирования-демультиплексирования так и сделано... но это только гипотеза

Если есть ioctl вроде «выбрать канал данных» или «выбрать область памяти», то предположение верно. Использовать несколько файлов - это обычно слишко сложно для аффторов драйверов таких устройств.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.