我在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
我做错了什么?