QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 690|回复: 1

字符设备函数调用问题请教

[复制链接]
发表于 2005-3-16 09:59:01 | 显示全部楼层 |阅读模式
简单的字符设备驱动测试小程序,想read调用能够获得字符设备文件的内容,这是我设好的,全为1,我在驱动里的test-read里用__put_user(1,buf)这个调用来赋值,测试程序里用read(fileno,buf,13)来获得内容,为什么没预想的内容,打印buf,不是1,请教谢谢!
 楼主| 发表于 2005-3-16 13:01:17 | 显示全部楼层
主要功能部分:
static int read_test(struct inode *node,struct file *file, char *buf,int count)
{
int left;
if (verify_area(VERIFY_WRITE,buf,count) == -EFAULT )
return -EFAULT;
for(left = count ; left > 0 ; left--)
{
__put_user(1,buf,1);
buf++;
}
return count;
}
测试函数:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
main()
{
int testdev;
int i;
char buf[10];
testdev = open("/dev/test",O_RDWR);
if ( testdev == -1 )
{
printf("Cann't open file ");
exit(0);
}
read(testdev,buf,10);
for (i = 0; i < 10;i++)
printf("%d ",buf);
close(testdev);
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-5 15:48 , Processed in 0.083089 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表