Chinaunix首页 | 论坛 | 博客
  • 博客访问: 792729
  • 博文数量: 87
  • 博客积分: 2571
  • 博客等级: 少校
  • 技术积分: 726
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-19 15:04
个人简介

重新开始,做回自我,爱拼的男人最牛!

文章分类
文章存档

2021年(2)

2020年(3)

2019年(17)

2014年(1)

2011年(1)

2010年(63)

我的朋友

分类: LINUX

2010-01-28 15:32:11

1.       read函数

ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);

返回值为非负值时表示成功读取的字节数,

2.       write函数

ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);

如果返回值为非负值表示成功写入的字节数

3.       copy_to_user copy_from_user

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

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

注意了:内核态的copy_from_usercopy_to_user及用户态的readwrite第三个参数一定是第二个参数的字节数,或比第二个参数的字节数大

copy_from_usercopy_to_user函数返回不能被复制的字节数(正数),因此,如果完全复制成功,返回值为0

4.       申请中断

request_irq(unsigned int irq, irqreturn_t (*handler)(int, void *, struct pt_regs *),

                  unsigned long irq_flags, const char * devname, void *dev_id)

     返回值为0表示申请成功,为负值表示申请失败,返回值为 –EBUSY表示有一个驱动程序已经占用了你要请求的终端信号,request_irq 总是和free_irq 成对出现,           void free_irq( unsigned int irq,void *dev_id)

5.       kmalloc函数

void *kmalloc(size_t size,int flags);

分配地址成功返回分配的地址值,返回NULL表示分配内存失败。

阅读(1237) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~