如何在内核中使用copyout?

如何在内核中使用copyout?,c,operating-system,bsd,C,Operating System,Bsd,在内核空间中,我想从终端复制一个字符,并将其放入用户空间 我正在尝试此代码,但它不起作用: char mychar; int result; mychar = getch(); result = copyout(&mychar, chptr, sizeof(mychr)); (chptr是指向用户级空间的指针) copyout未返回1。有人知道问题出在哪里吗?假设BSD ish复制出来: RETURN VALUES The copy functions return 0 on

在内核空间中,我想从终端复制一个字符,并将其放入用户空间

我正在尝试此代码,但它不起作用:

char mychar;
int result;
mychar = getch();
result = copyout(&mychar, chptr, sizeof(mychr));
chptr
是指向用户级空间的指针)


copyout
未返回1。有人知道问题出在哪里吗?

假设BSD ish
复制出来

RETURN VALUES
     The copy functions return 0 on success or EFAULT if a bad address is
      encountered. ...

换句话说,您只是在期待它所返回的东西以外的东西。:-)

假设BSD ish
复制

RETURN VALUES
     The copy functions return 0 on success or EFAULT if a bad address is
      encountered. ...

换句话说,您只是在期待它所返回的东西以外的东西。:-)

你确定你要给这个贴上“linux”标签吗?据我所知,
linux
没有
copyout
功能(听起来更像BSD)。你用的是哪种操作系统?你说得对,我不是这个意思。你确定你想把这个标记为“linux”吗?据我所知,
linux
没有
copyout
功能(听起来更像BSD)。你在用哪个操作系统?你是对的,我不是那个意思。