内核API

来源:互联网 发布:飞豆打印软件 连打 编辑:程序博客网 时间:2024/04/30 10:50

在驱动编程中经常使用copy_from_user / copy_to_user , 那么这些函数叫什么名字呢, 还有哪些函数可以把应用层和内核连接起来呢? 

http://www.ibm.com/developerworks/cn/linux/l-kernel-memory-access/

用户空间内存访问APIaccess_ok检查用户空间内存指针的有效性get_user从用户空间获取单个变量put_user输入一个变量到用户空间clear_user清除用户空间的一个块,或将其归零copy_from_user将一个数据块从用户空间拷贝到内核空间copy_to_user将一个数据块从内核空间拷贝到用户空间strlen_user获取用户空间字符串缓冲区的大小strncpy_from_user从用户空间拷贝一个字符串到内核

copy_from_user / copy_from_user 都是在  <linux/uaccess.h>中:

unsigned long copy_to_user(void __user * to, const void *from, unsigned long n); 

如果拷贝成功则返回0, 否则返回没有传送成功的字节数

* to  : 用户空间的指针

* from : 内核空间指针

n: 需要拷贝的字节数


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

如果拷贝成功返回0, 否则返回没有成功传送的字节数

* to : 内核空间指针

* from : 用户空间指针

n : 需要拷贝的字节数



0 0
原创粉丝点击