Вопрос по созданию ЮСБ драйвера
Привет всем! Помогите советом. В програмировании под Линукс я новичок. А тут еще задача подвалила написать драйвер для юсб девайса. У девайса 4 конечных точки. Одна CONTROL,2 BULK, 1 INTERUPT. Нада читать в хост с INTERUPT_IN и с BULK_IN. Писать в BULK_OUT. Как я понимаю связать уровень ядра(драйвера) с пользовательским(прикладная прога) можно через вызовы write(),read(). А сам драйвер подключает к этим вызовам прописаную в нем функцию чтения/записи. Таким образом я могу подключить допустим 2 точки BULK, одну к чтению, другую к записи. Но остается INTERUPT_IN. А с прикладной программы мне нада точно отсылать запрос или на INTERUPT_IN или на BULK_IN, чтобы с них прочитать. Ну и соответственно знать что же я читаю INTERUPT_IN или BULK_IN, а не общую кашу того что они прислали(это в случае прописки их обеих на read()), так как я не знаю сколько байт мне должно прийти. Как решить этот вопрос? Можна ли использовать както ioctl? Или нет другого пути как кроме нескольких конфигураций/интерфейсов для девайса? Надеюсь я понятно обяснил проблему, если нет я постараюсь уточнить, если будут вопросы.

