哪一个我必须使用通用内核扩展或I / O驱动程序扩展来控制MacOS上的驱动程序?

时间:2012-04-24 08:09:45

标签: macos kernel driver kernel-extension

我想在mac上达到蓝牙,wifi,usb,firewire和其他通信接口。我也想对蓝牙和wifi进行身份验证。哪个内核扩展我必须使用通用内核扩展或I / O驱动程序扩展?

1 个答案:

答案 0 :(得分:1)

  • Airport(Wifi)驱动程序没有公共内核API。
  • 公共bluetooth APIs主要位于用户空间,而不是内核。
  • USB和Firewire设备系列由I / O Kit管理,并在内核和用户空间都有公共API。
  • 通过“其他沟通”,我认为你的意思是网络?网卡设备驱动程序是围绕内核I / O Kit API,套接字和数据包过滤等构建的,它们位于内核的BSD部分。

总的来说,如果您需要获取代表 devices 的对象,则需要使用I / O Kit - 来自I / O Kit kext或来自用户空间。如果您正在使用网络(以太网,IP)API,则需要通用kext。