sock_create 函数是 Linux 内核编程中用于创建套接字(socket)的函数。其实现位于 net/socket.c 文件中。这个函数的原型如下:
int sock_create(int family, int type, int protocol, struct socket **res);
各个参数的含义如下:
1. family:指定协议族(protocol family),例如 AF_INET 表示 IPv4,`AF_INET6` 表示 IPv6,`AF_UNIX` 表示 Unix 域套接字等。
2. type:指定套接字类型(socket type),例如 SOCK_STREAM 表示流套接字,`SOCK_DGRAM` 表示数据报套接字等。
3. protocol:指定要使用的协议,一般可以填 0,表示使用默认的协议。例如,对于 SOCK_STREAM,默认协议是 TCP;对于 SOCK_DGRAM,默认协议是 UDP。
4. res:指向一个 struct socket 指针的指针,用于返回创建的套接字对象。
这个函数返回一个整数值,成功时返回 0,失败时返回负的错误码。常见