据我所知,系统调用号的定义是asm/unistd.h中的__NR_xxxx格式,但我找不到__NR_accept的定义,为什么?
问问题
385 次
1 回答
3
在许多架构上,接受系统调用号位于.<asm/unistd.h>
但是,我怀疑您是在询问 i386 或其他“较旧”架构。在这种情况下,由于历史原因,实际上并没有系统调用——而是使用调用号为accept
的多路复用系统调用来执行。您将在您的(以及通过 多路复用的各种与套接字相关的系统调用中找到、、、等的定义)。socketcall
SYS_ACCEPT
accept()
__NR_socketcall
<asm/unistd.h>
SYS_SOCKET
SYS_BIND
SYS_CONNECT
SYS_LISTEN
SYS_ACCEPT
<linux/net.h>
socketcall
无论如何,对于没有真正accept
系统调用的架构,您当然也没有系统调用号__NR_accept
。
于 2013-04-17T07:43:13.037 回答