On Sun, 7 Mar 2004, xxx386 wrote:
> Большое спасибо за код, я так понимаю его нужно засунуть в файл с
> расширением *.c и откомпилить?
Совершенно верно. Например так:
gcc -Wall -o cdromclose cdromclose.c
> Так как на Си яполный чайник, если
> можно, то чуть по поподробней... а на bash'е вы незнаете такую
> команду? Типа как я написал для открытия сидирома eject cdrom, чтобы
> можно было зделать также как я описывал?
Для начала определимся с задачей. Она такова: управлять лотком привода
CDROM программно. Очевидно, что для достижения цели нам необходимо
общаться с устройством. Интервейсом взаимодействия в данном случае
является вызов системного примитива ioctl(2).
Shell, являющийся интерфейсом интерактивного взаимодействия между
пользователем и системой способен, кроме прочего, производить
операции чтения (read(2)) и записи (write(2)) в своей семантике
(echo, read и т.п.). При этом нет возможности производить
произвольные системные вызовы (ioctl(2) в нашем случае). Таким образом
произвести операции управления устройством (CDROM в нашем случае) не
представляется возможным.
eject(1), являвляется двоичным файлом (т.е. не shell скриптом),
предоставляющим интерфейс взаимодействия пользователя и управляемого
устроройства (CDROM), использующий те или иные вызовы ioctl(2) в
зависимости от переданных параметров.
А как произвести вызов ioctl(<descr>, CDROMCLOSETRAY) с помощью
eject(1) можно так:
eject -t CDROM_DEVICE
PS.
Пытайтесь логически осмыслить проблему. Многие вопросы сами собой
отпадут во время размышлений.
mkb
-*Название листа "Linux: разрешение вопросов, перспективы и общение";
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Адрес правил листа http://subscribe.ru/catalog/comp.soft.linux.discuss/rules
Номер письма: 4919; Возраст листа: 225; Участников: 1062
Адрес сайта рассылки: http://www.linuxrsp.ru
Адрес этого письма в архиве: http://subscribe.ru/archive/comp.soft.linux.discuss/msg/98262
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.discuss-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.discuss--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru