编写自己的系统调用时出错:“copyout'

时间:2015-11-14 19:35:52

标签: c system-calls bsd

我在openBSD中编写自己的系统调用。我正在尝试使用具有签名的copyout函数:

 int
     copyout(void *kaddr, void *uaddr, size_t len);

我有一个数组

char word[MAX_STR_LENGTH+1];

我还有一个结构

 struct sys_<name of the function>_args *uap 

结构声明如下:

struct sys_<name of function >_args {
    syscallarg(char *) text;
};

当我尝试使用这样的copyout函数时,我得到copyout的参数2的不兼容类型:

copyout(word, uap->text, sizeof (word));

以下是错误消息:

 In function <name of function>
 incompatible type for argument 2 of `copyout'
*** Error code 1

我做错了什么?

0 个答案:

没有答案