1

据我所知,系统调用号的定义是asm/unistd.h中的__NR_xxxx格式,但我找不到__NR_accept的定义,为什么?

4

1 回答 1

3

在许多架构上,接受系统调用号位于.<asm/unistd.h>

但是,我怀疑您是在询问 i386 或其他“较旧”架构。在这种情况下,由于历史原因,实际上并没有系统调用——而是使用调用号为accept的多路复用系统调用来执行。您在您的(以及通过 多路复用的各种与套接字相关的系统调用中找到、、、等的定义)。socketcallSYS_ACCEPTaccept()__NR_socketcall<asm/unistd.h>SYS_SOCKETSYS_BINDSYS_CONNECTSYS_LISTENSYS_ACCEPT<linux/net.h>socketcall

无论如何,对于没有真正accept系统调用的架构,您当然也没有系统调用号__NR_accept

于 2013-04-17T07:43:13.037 回答