加载驱动时传参——讯为笔记

加载驱动传参

在加载驱动的时候传递给驱动的参数

例如:insmod beep.ko a=1

常见的用途:

  1. 设置驱动的相关参数,比如设置缓冲区的大小
  2. 设置安全校验,防止我们写的驱动被人盗用

传参方式

//普通类型的参数,char,int
module_param(name, type, perm);
//name 参数名称
//type  参数类型
//perm  参数的读写权限

//数组
module_param_array(name, type, nump, perm);
//name 参数名称
//type  参数类型
//nump  数组个数
//perm  参数的读写权限

示例

static int a;
module_param(a, int, S_IRUSR);

static int arrbuf[5];
static int counta;
module_param_array(arrbuf, int, &counta, S_IRUSR);
......//驱动其他代码
#传参时
insmod xxx.ko a=1 arrbuf=1,2,3
#驱动即可得到a的值,arrbuf的[0][1][2]值,counta的值为3
#数组参数可以少写,不能多于驱动代码中定义的数组长度,多写加载会报错
posted @   WuYunTaXue  阅读(165)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示