_syscall0(int,mycall) 表示:
系统调用的名称为 mycall。
它接受零个参数。
它返回一个 int 类型的值。
_syscall1(int,mycall,int,number) 表示:
系统调用的名称为 mycall。
它接受一个参数。
该参数是一个名为 number 的 int 类型。
它返回一个 int 类型的值。
当你展开 _syscall1(long,mycall,int,i) 时,你会得到以下代码:
long mycall(int i)
{
return syscall(__NR_mycall, i);
}
但是,_syscallN 宏的定义在内核中是不同的。 您可以在 /usr/src/linux/include/asm-i386/unistd.h 中查看定义。