这样修改函数对不对?
这是在linux下系统调用的时候用原:_syscall1(int,mycall,int,ret)
修改:int mycall(int ret)
{return syscall(__NR_mycall,ret);
}
那么 _syscall2(int,mycopy,const char *,s_file,const char *,t_file)
能不能修改成:
int mycopy(const char * s_file,const char * t_file)
{return(__NR_mycopy,* s_file,* t_file);
}
附:mycopy在sys.c中的定义 其中 操作正确返回0 否则返回其它值
asmlinkage int sys_mycopy(const char* s_file, const char* t_file){
}
我的问题:1、如上面 能否修改
2、为什么我使用_syscall1(int,mycall,int,ret)不能调用 会报错 而
int mycall(int ret)
{return syscall(__NR_mycall,ret);
}可以,这是什么原因?