首先请允许我说,我没有开发OSX驱动程序的经验,也没有开发Windows驱动程序的经验。所以,有很多事情我不了解司机的工作方式;我确信它在我的问题中很明显。
我有一个能够使用AT命令打开和关闭TCP / UDP套接字的调制解调器。我想创建一种实现网络驱动程序的程序(内核扩展?驱动程序?),将网络接口调用转换为AT命令串行消息。
这是它的基本要点。我基本上会问是否有人可以指出我正确的方向/给我一个高级别的概述,他们将如何接近它以及Apple指导的重点。
答案 0 :(得分:0)
XNU网络堆栈 - 与大多数网络堆栈一样 - 期望网络设备直接发送和接收IP数据包。它不能与内部处理部分网络堆栈(如TCP或UDP)的网络设备一起工作 - 它无法实现使用该设备的网络驱动程序。
您可能有更多的运气将此设备公开为SOCKS proxy。您需要编写一个用户空间守护程序,该守护程序侦听localhost(在计算机上)上的TCP端口,并将流量中继到串行设备;完成后,您可以将计算机设置为在网络控制面板中将该设备用作SOCKS代理。
(顺便说一句:大多数实现此类接口的设备对开放套接字的数量限制很少 - 通常少于10.他们不太可能能够处理由此产生的网络负载桌面操作系统。)