LINUX.ORG.RU

Как в haskell'е работать с /dev/* ?


0

0

Что-то я недопонял этот момент.
Есть например такой кусок текста на С:

==================

    int drive = open("/dev/cdrom", O_RDONLY | O_NONBLOCK);
    struct cdrom_tochdr tochdr;
    struct cdrom_tocentry tocentry;
    int i; 
    
    ioctl(drive, CDROMREADTOCHDR, &tochdr);
    for (i = tochdr.cdth_trk0; i <= tochdr.cdth_trk1; i++) {
        tocentry.cdte_track = i; 
        tocentry.cdte_format = CDROM_MSF;
        ioctl(drive, CDROMREADTOCENTRY, &tocentry);

и т.д.

==================

Вот в С определения struct cdrom_tochdr, struct cdrom_tocentry, 
CDROMREADTOCHDR и всякие прочие я получаю с помощью

#include <sys/ioctl.h>
#include <linux/cdrom.h>
и др.

А какие модули мне нужно импортировать в haskell'e чтобы со всем этим 
работать? 

open(...) это System.Posix.IO, я уже разобрался, а остальное где брать? 

Так-как я грамотный, то подошла бы и инструкция на эту тему, а то постоянно делать в hugs (например)

:load System.Posix.IO
:browse System.Posix.IO

утомительно, да и мало просветляет, т.к. кроме имен функций хорошо бы поиметь и их описалово.
★★★★★

Ответ на: комментарий от plm

Еще есть библиотека MissingH... мож там есть чего нужного... Помимо FFI есть генераторы для FFI ;-)

Begemoth ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.