Как использовать zlib в проектах расширения ядра для Mac OS X? - PullRequest
2 голосов
/ 18 августа 2011

Я хочу разработать расширение ядра сети на Mac OS.Я получил некоторые данные в формате gzip в функции sf_data_in ().Я включил заголовочный файл с именем <libkern/zlib.h>, и мой Mac завис при запуске кода ниже после загрузки kext с помощью "kextload".

z_stream strm;
bzero(&strm, sizeof(z_stream));

if (Z_OK != inflateInit2(&strm))
{
    printf("inflateInit error.\n");

    inflateEnd(&strm);

    return 0;
}

, который может сказать мне, как использовать его в ядрепрограммирование.гораздо лучше дать несколько образцов.Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 18 августа 2011

Вы передаете неправильное количество параметров в inflateInit2(), для этого требуется указатель на поток и размер окна в битах.если вы не хотите устанавливать последнее, используйте inflateInit().

Вы также можете посмотреть на код ядра, используя zlib, ppp_deflate.c , ipcomp_core.c

0 голосов
/ 18 августа 2011

Я нашел некоторое использование библиотеки ядра zlib в файле arch / powerpc / boot / gunzip_util.c , возможно, это будет хорошей отправной точкой для вашего кода.

...