Russian Qt Forum
Ноябрь 22, 2024, 21:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: функция ioctl в QT  (Прочитано 7018 раз)
dx
Гость
« : Март 08, 2011, 21:08 »

с горем пополам QT было поднято. ну вот теперь задача связать мое приложение с собственным драйвером. драйвер по сути сейчас пустышка, которая при вызове ioctl, open, read, write, release пишет printk'ом в лог ядра.
Сначала я пробовал найти функцию ioctl в классе QIODevice. Видимо или плохо искал или просто не судьба. Забил и попробовал как в старые добрые времена:
Код
Код:
#include <stdio.h>
#include <fcntl.h>
#include <linux/ioctl.h>
...
...
fptr = open("/dev/module", O_WRONLY);
retval = ioctl(fptr, cmd, param);
close(fptr);


но на это получаю ошибку: ‘ioctl’ was not declared in this scope.
Для моих задач ioctl очень удобна. Может посоветуете аналог этой ф-ции?? Или просто не парить мозги и делать на read, write??
Записан
brankovic
Гость
« Ответ #1 : Март 09, 2011, 00:48 »

#include <linux/ioctl.h>

Как на счёт man ioctl?

#include <sys/ioctl.h>
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #2 : Март 09, 2011, 08:28 »

Цитата: dx
Сначала я пробовал найти функцию ioctl в классе QIODevice.
И даже не ищите. QIODevice это базовый класс который предоставляет "унифицированный" высокоуровневый интерфейс для I/O устройств.
В Вашем случае (ИМХО), проще создать свой класс, унаследовавшись от  QIODevice, а всю платформоспецифические функции реализовать в приватном классе.

Короче - см. исходники Qt ( QFile, QAbstractSocket ).

А также ознакомтесь с этим:
http://habrahabr.ru/blogs/qt_software/76248/
http://habrahabr.ru/blogs/qt_software/76506/

ЗЫ: Это всё моё ИМХО, я бы поступил именно так (предположительно) Улыбающийся . Хотя, мне неизвестна полностью ваша задача.
Записан

ArchLinux x86_64 / Win10 64 bit
dx
Гость
« Ответ #3 : Март 09, 2011, 12:34 »

 Смеющийся Смеющийся Смеющийся Смеющийся Смеющийся Смеющийся brankovic Вы были правы......ууууу.....
kuzulis Вам тоже спасибо....по Вашей ветке обязательно пойду
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 23.