众所周知,系统调用号的定义在asm / unistd.h中的格式为__NR_xxxx,但我找不到__NR_accept的定义,为什么?
答案 0 :(得分:3)
在许多体系结构中,<asm/unistd.h>
中的接受系统呼叫号码 。
但是,我怀疑你问的是i386或其他“老”架构。在这种情况下,由于历史原因,实际上没有accept
系统调用 - 而是使用多路复用的socketcall
系统调用,调用号为SYS_ACCEPT
来执行{{ 1}}。您将在accept()
中找到__NR_socketcall
的定义(以及<asm/unistd.h>
,SYS_SOCKET
,SYS_BIND
,{{1的定义SYS_CONNECT
中的{},SYS_LISTEN
等等,用于通过SYS_ACCEPT
多路复用的各种与套接字相关的系统调用。
在任何情况下,对于没有真正<linux/net.h>
系统调用的体系结构,您当然也没有系统调用号socketcall
。