我想在mac os上开发一个网络内核扩展我在函数sf_data_in()中得到了一些gzip格式的数据我包含了名为<libkern/zlib.h>的头文件,在用“kextload”加载kext后,mac在运行下面的代码时崩溃。

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

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

    inflateEnd(&strm);

    return 0;
}

谁能告诉我如何在内核编程中使用它最好给一些样品。
非常感谢。

最佳答案

您传递给inflateInit2()的参数数目错误,它需要指向流的指针和以位为单位的窗口大小如果不希望设置后者,请改用inflateInit()
您还可以使用zlib、ppp_deflate.cipcomp_core.c查看一些内核代码

08-27 22:03