[Comm] Как в программе на Си проверить нал =?KOI8-R?Q?=C9=DE=C9=C5_=3D=3FKOI8-R=3FQ=3F=5F=3DD3=3DC9=3DC4=3DC0=3

Vitaly Lugovsky =?iso-8859-1?q?vsl_=CE=C1_ontil=2Eihep=2Esu?=
Вт Окт 1 14:33:00 MSD 2002


On Tue, 1 Oct 2002, Андрей Великоредчанин wrote:

> >>Как в программе на Си проверить наличие сидюка в дисководе? Что-то нигде
> >>ничего не нашел по этому поводу. :(
> >
> > 1) НА ФИГА?!?
> > 2) Глупо, непортабельно, отвратительно, требует рутовых прав - заюзать
> >ioctl навроде CDROM_DISC_STATUS или около того (см. cdrom.h за 
> >подробностями).
> >
> Мне это нужна для программки, кторая будет запускаться на initrd 
> загрузочного сидюка. Так что с правами и портабельностью все нормально.

 Тогда Ok. Но ведь если она запустилась, то сидюк точно в сидюководе... А 
вот где сам сидюковод - ещё выяснять надо.

> А можно поподробнее на счет ioctl?

 То есть? Все подробности - в cdrom.h (обычно в /usr/include/linux/). 
DISC_STATUS я так просто предложил, может, проще окажется попользовать 
MEDIA_CHANGED (не помню точно, в каких случаях оно выставляется) или 
DRIVE_STATUS. Как дёргать за сами ioctl-и написано в man ioctl. Как 
узнать, на каком вообще block device сидюковод висит - не знаю.





Подробная информация о списке рассылки community