Linux套接字实现在哪里?

时间:2017-06-30 15:59:02

标签: linux

在C程序中,为了使用套接字,我们需要包括:

#include<sys/socket.h>

我搜索了socket.c文件(<sys/socket.h>的实现),但没有找到它(find -iname "socket.c*"

  1. 我在哪里可以找到Linux套接字实现?
  2. 我可以修改此文件并更改此实现吗?

2 个答案:

答案 0 :(得分:5)

头文件包含与套接字相关的系统调用的声明。要开始深入了解实施,请考虑参考Linux source tree中的net/socket.c文件。

关于更改实现 - Linux是一个以GNU GPL条款分发的开源软件产品。如果您花费相当多的时间来了解如何从头开始重新构建内核,您将能够将所需的任何更改应用到内核并将其部署到本地计算机上(当然,风险自负)。

答案 1 :(得分:1)

socket()实现在linux内核源代码中的net/socket.c

SYSCALL_DEFINE3(socket, int, family, int, type, int, protocol)

您可以将此文件修改为实现。