【发布时间】:2019-12-12 17:20:05
【问题描述】:
我正在用套接字编写内核模块。当我尝试为接受连接编写代码时,我得到:
“错误:函数‘sock->ops->accept’的参数太少 ret = sock->ops->accept(sock, client_sock, 0);"
我查看了 socket 接受的实现,只有三个参数,所以我不知道发生了什么。
struct socket *sock = NULL, *client_sock = NULL;
//some code here, create socket, bind, listen
ret = sock->ops->accept(sock, client_sock, 0);
我希望它应该可以工作,但事实并非如此。如果在实现中只有三个,为什么会出现“参数太少”错误?我该如何解决?
【问题讨论】:
-
请将 full 和 complete 错误输出复制粘贴到问题中(作为文本)。可能有信息说明会告诉您编译器的预期。另外请花点时间刷新how to ask good questions,以及this question checklist。
标签: c sockets linux-kernel kernel-module unix-socket