在linux内核模块中替换sys / socket.h?

时间:2016-03-25 23:51:14

标签: c linux sockets linux-kernel kernel-module

IBM有一个TPM 2.0模拟器,它通过套接字进行通信。我必须连接到特定端口的locahost,然后通过该连接发送我的命令。

我希望能够像使用硬件TPM一样使用它。所以我想我会写一个内核模块,在/dev/tpm0下为它提供一个字符设备驱动程序。

它基本上是一个代理,它将收到的所有命令发送到模拟器并传递答案。

我需要socket来执行此任务,并且已经使用我编写的用户模式应用程序成功连接到模拟器。

将此文件传输给我写的驱动程序时,make文件会抱怨,找不到sys/socket.h

通过我已经听过的研究,有些库只能在用户模式下使用,我认为sys/socket.h就是其中之一。

那么内核的替代品是什么?我阅读了很多文章,解释了如何在内核模块中配置服务器,但客户端没有任何内容。

1 个答案:

答案 0 :(得分:0)

这应该有所帮助:

示例tcp服务器在内核中运行:

https://gist.github.com/llj098/752417