|
楼主 |
发表于 2004-3-6 09:31:54
|
显示全部楼层
那个id是问题,,没有赋值,我加一句id=getuid1(id)后,返回值是-1,不对
其实那个函数只用写成
asmlinkage int sys_getuid1(void)
{return current->uid;}就可以了,但是由于
"问题:_syscall2(type,name,type1,arg1,type2,arg2);这个格式怎么用啊.要是我的系统调用没有参数,或者只有一个参数,我该怎么写呢?"这个问题没有解决,所以我才写成先前的那样.
我的第260号调用是
asmlinkage int sys_add1(int,a,int,b)
{int num;
num=a+b;
return num;
}
测试#vi add.c
#include <linux/unistd.h>
_syscall2(int,add1,int,a,int,b);
main()
{ int s,a,b;
printf("Input 2 number :\n");
scanf("%d%d",&a,&b);
s = add1(a,b);
printf("result is %d \n",s);
}
结果还是 -1
我是个新手,所以请各位赐教,我自己也在不断的查找资料,边问边看效果很好的,谢谢各位了!
1. _syscall2(type,name,type1,arg1,type2,arg2);这个格式当系统调用没有参数时怎么写?
2. asmlinkage是什么意思?
3. 我的系统调用为什么结果总是 -1 |
|