套接字函数定义?

时间:2011-12-28 16:46:30

标签: linux-kernel

在阅读C源代码时,我看到用于打开连接的socket函数。当我使用socket在Linux内核源代码(版本3及更高版本)中搜索grep的定义时,我可以找到更多调用socket而不是定义。

socket在哪里定义?它是否在以太网卡的源代码中定义?

2 个答案:

答案 0 :(得分:2)

socket()函数不是核函数,它是libc函数。

如果你想学习socket()内部,请获取glibc(或标准C库的任何实现)的代码,而不是内核代码。

如果您打算进一步深入研究并研究内核如何实现套接字机制,请查找系统调用sys_socketcall()

答案 1 :(得分:0)

我意识到这个线程是古老的,但是实际上我必须去查找这个线程,因为我正在研究一个速度为10Gb / s的安全堆栈,并且需要知道它是如何实现的。我可以在这里找到来源:https://github.com/torvalds/linux/blob/master/net/socket.c