据我所知,系统调用号的定义是asm/unistd.h中的__NR_xxxx格式,但我找不到__NR_accept的定义,为什么?
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 回答