【发布时间】:2010-01-30 19:23:24
【问题描述】:
我正在尝试将一些代码从 FreeBSD 移植到 OS X。该代码相当低级,它使用 make_dev() 创建许多特殊设备文件,并使用 ioctl() 等函数控制功能。
理想情况下,我希望我的代码尽可能接近原始代码,以便将来可以更轻松地合并上游更改:我的问题是,有没有办法在 OS X 上创建此类设备文件?根据wikipedia,该平台支持该成语。有人可以指出我正确的方向吗?
【问题讨论】:
-
您是在编写内核扩展,还是在移植用户态应用程序?你使用 mknod(2) 有什么问题?
-
我试图移植的源代码是一个内核扩展:如果我可以在用户空间工作,虽然我更愿意。似乎通过 IOKit 我可以获取我需要的实际设备数据,所以如果我可以在用户空间中创建与 /dev 中通过内核扩展创建的设备功能相同的特殊设备文件,那就没问题了。是这样的吗?
-
您找到/获得了 DVB 源代码吗?
-
@tommieb75: 不,我没有,但我找到了一些我可以理解的 FreeBSD 代码,并准备进行移植。我宁愿避免编写内核扩展,但如果我想让我的代码靠近我正在使用的源代码,我似乎必须这样做。
-
好的...玩得开心移植,祝你好运;)我会密切关注你未来的帖子,因为我很想知道你的进展如何。跨度>
标签: macos port freebsd ioctl mknod