fd там - сокращение от file descriptor.
Вообще-то Вы задаете очень сложные вопросы. Для того чтобы на них ответить, нужно будет объяснять что такое open(), а потом что такое dev="/dev/parport0", потом про signal()... Я думаю, лучше почитать общеразвивающей литературы по С вообще и про программирование на С под Linux в частности.
Что касается работы ioctl, я приведу выдержку из man, а Вы сделайте выводы:
Цитата:
НАЗВАНИЕ
ioctl - управляет устройствами
СООТВЕТСТВИЕ СТАНДАРТАМ
Нет единого стандарта. Аргументы, возвращаемые значения и семантика ioctl(2) различны в каждом конкретном случае в зависимости от драйвера устройства (вызов является общим для всех операций, что не совсем соответствует поточной модели ввода/вывода в Unix). Прочтите список ioctl_list(2) , в котором указано большинство вызовов ioctl. Вызов ioctl впервые появился в версии 7 AT&T Unix.
|
Добавлено:
Вот:
http://www.linux.org.ru/books/LDP/lpg.html