天天看點

【Linux函數】——copy_to_user()和copy_from_user()

copy_to_user()和copy_from_user()

由于核心空間與使用者空間的記憶體不能直接互訪,

是以借助函數 copy_from_user()完成使用者空間到核心空間的複制,

函數copy_to_user()完成核心空間到使用者空間的複制。

copy_from_user()和 copy_to_user()的原型如下所示:

unsigned long copy_from_user(void *to, const void __user *from, unsigned long count);

    unsigned long copy_to_user(void _ _user *to, const void *from, unsigned long count);
           

上述函數均傳回不能被複制的位元組數,是以,如果完全複制成功,傳回值為 0。

比如驅動程式裡面讀到的資料我就可以通過這個函數發送到user

【Linux函數】——copy_to_user()和copy_from_user()

繼續閱讀