register_chrdev & unregister_chrdev

功能 :注册设备  

原型  
#include <linux.fs.h>  
int   register_chardev  ( unsigned   int   major ,   const   char   * name ,   struct   file_operations   * fops )  

说明 :register_chrdev 是注册设备驱动程序的内核函数。  

变量:   
  • major 主设备号,该值为 0 时,自动分配主设备号,主设备号为该函数的返回值。
  • name 设备名称;
  • fops file_operations 结构体变量地址(指针)。
返回值  
major 值为 0 ,正常注册后,返回分配的主设备号。如果分配失败,返回 EBUSY 的负值 ( -EBUSY ) 。major 值若大于 linux/major.h (2.4内核)中声明的最大值 (#define MAX_CHRDEV      255) ,则返回EINVAL 的负值 (-EINVAL) 。指定 major 值后,若有注册的设备,返回 EBUSY 的负值 (-EBUSY)。若正常注册,则返回 0 值。  


unregister_chrdev()  -- 老版本字符设备注销函数  

功能:注销设备  

原型  
#include <linux.fs.h>  
int   unregister_chrdev  ( unsigned   int   major ,   const   char   * name )  

说明:  
注销设备驱动程序的内核函数  

变量:  
  • major   主设备号
  • name  设备文件
返回值: major 值若大于 linux/major.h (2.4 内核)中声明的最大值 (#define MAX_CHRDEV      255),返回 EINVAL的负值 (-EINVAL)。指定了 major的值后,若将要注销的 major 值并不是注册的设备驱动程序,返回 EINVAL的负值 ( -EINVAL )。正常注销则返回 0值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值