[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