1
据我所知,系统调用数字的定义格式为asm/unistd.h中的__NR_xxxx,但我找不到__NR_accept的定义,为什么?__NR_accept的定义在哪里?
据我所知,系统调用数字的定义格式为asm/unistd.h中的__NR_xxxx,但我找不到__NR_accept的定义,为什么?__NR_accept的定义在哪里?
在许多体系结构上,接受系统调用号是的<asm/unistd.h>
。
但是,我怀疑你是在问i386还是另一种“旧”的架构。在这种情况下,出于历史原因,系统调用并不真实 - 而是使用系统调用的多路复用socketcall
,呼叫号码为SYS_ACCEPT
来执行accept()
。您将在<asm/unistd.h>
找到__NR_socketcall
定义(和SYS_SOCKET
,SYS_BIND
,SYS_CONNECT
,SYS_LISTEN
,SYS_ACCEPT
定义等都在<linux/net.h>
为通过socketcall
复用的各种插槽相关的系统调用)。
在任何情况下,对于没有真实accept
系统调用的架构,您当然也不会有系统调用号__NR_accept
。
您正在寻找哪种架构,它是#define __NR_accept \t \t \t(__NR_SYSCALL_BASE + 285) – LKL