2013-03-20 3 views
0

В пространстве ядра я хочу скопировать символ из терминала и поместить его в пространство пользователя.Как использовать рассылку в ядре?

Я пытаюсь этот код, но он не работает:

char mychar; 
int result; 
mychar = getch(); 
result = copyout(&mychar, chptr, sizeof(mychr)); 

(chptr является указателем на пространство на уровне пользователя)

copyout не возвращает 1. Кто-нибудь знает, в чем проблема ?

+2

Вы действительно хотите отметить этот «linux»? Насколько я знаю, 'linux' не имеет функции' copyout' (звучит скорее как BSD). Какую ОС вы используете? – cnicutar

+0

Вы правы, я не это имел в виду. – omega

ответ

1

Предполагая BSD-иш copyout:

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

Другими словами, вы просто ожидали чего-то другого, чем то, что она возвращает. :-)

 Смежные вопросы

  • Нет связанных вопросов^_^