ioctl 调用方法

原创 2016年08月28日 14:19:16
说明:当struct DDD的长度何long不对等时,不能简单的类型转换,会导致编译错误。
可以使用 memcpy() 方式拷贝解决。

应用程序:
typedef struct DDD{
int aa;
int bb;
int cc;
}ABC;

ABC abc;

abc.aa = 0x12;
abc.bb = 0x34;
abc.cc = 0x56;

ioctl(fd, 0x98, &abc);


驱动程序方式:
typedef struct DDD{
int aa;
int bb;
int cc;
}ABC;

static struct file_operations aa = {
.unlocked_ioctl = aaaIoctl,
};

static long aaaIoctl(struct file *file, unsigned int cmd, unsigned long arg)
{
ABC *ddd = NULL;
ddd = kmalloc(sizeof(struct DDD), GFP_KERNEL);
memcpy(ddd, (void *)arg, sizeof(struct DDD));
printk(KERN_WARNING "%s cmd:0x%02x, 0x%02x 0x%02x 0x%02x  \n", __func__, cmd, ddd->aa, ddd->bb, ddd->cc);
kfree(ddd);
}

ioctl 调用方法

说明: 当struct DDD的长度何long不对等时,不能简单的类型转换,会导致编译错误。 可以使用 memcpy() 方式拷贝解决。 应用程序: typedef struct DDD{ int...
  • alex_equal
  • alex_equal
  • 2016年05月14日 14:16
  • 235

Linux系统ioctl使用示例 ioctl实验

本文是我在andoid实验的ioctl的功能,如双向传递参数。贴出来希望对学习ioctl的人很有帮助。     linux的ioctl功能是很强大的,android显示模块还有camera模块都离不...
  • eqwewr
  • eqwewr
  • 2013年01月12日 14:35
  • 4823

ioctl返回失败,驱动中ioctl没调问题解决

在移植A64 jni库时,遇到ioctl一直返回失败,驱动加打印证明根本没调到驱动ioctl方法,自己写个测试demo,证明ioctl控制是没问题的,经网络资源学习以及文件系统代码中加log,证明当跑...
  • bitch_____
  • bitch_____
  • 2017年06月27日 14:51
  • 582

Linux下使用ioctl获取本地接口IP

使用ioctl方法读取网卡设备来获取本地IP,避免了gethostbyname()受hosts文件影响无法获取真实IP的不可靠情况。...
  • zspzwal
  • zspzwal
  • 2016年04月28日 19:09
  • 299

linux系统ioctl函数使用实例

由于源代码注释几乎没有,可能新手较难看懂。因此鄙人加上了注释,有些小错误的地方也改了一下,其它不多说了。 程序1:检测接口的 inet_addr,netmask,broad_addr 程序2:检查...
  • stonesharp
  • stonesharp
  • 2012年11月22日 11:43
  • 1236

Linux中ioctl()函数命令字生成

Linux中ioctl()函数命令字生成: bit31~bit30:“区别读写” 区,作用是区分是读取命令还是写入命令; bit29~bit16:“数据大小” 区,表示 ioctl() 中的 arg ...
  • u013686019
  • u013686019
  • 2015年05月20日 14:32
  • 1459

Ioctl返回-1 出错,解决办法

Ioctl返回-1 出错,解决办法通过APK 操作gpio驱动 点灯时,发现ioctl(gpio_fileHandler, cmd, arg) 函数返回值一直是-1.驱动无法执行ioctl 中gpio...
  • qq_25402181
  • qq_25402181
  • 2017年09月14日 20:55
  • 273

linux设备驱动之ioctl控制

大部分驱动除了具有读写的能力之外,还需要具有对硬件控制的能力。一。用户空间:ioctl 用户程序使用ioctl系统调用来控制设备。用户程序只是通过命令码告诉驱动程序想做什么,至于怎么解释这些命令和怎...
  • lincuiting06
  • lincuiting06
  • 2015年12月11日 16:43
  • 749

ioctl方法详解

设备控制接口(ioctl 函数) 回想一下我们在字符设备驱动中介绍的struct file_operations 结构,这里我们将介绍一个新的方法: int (*ioc...
  • huiguixian
  • huiguixian
  • 2014年04月24日 14:13
  • 8674

ioctl的实现

转载自大神:http://blog.chinaunix.net/uid-25014876-id-59419.html 很详细,留以以后查看。 一、ioctl的简介: 虽然在文件操作结构体”s...
  • u011003120
  • u011003120
  • 2016年07月28日 22:15
  • 1148
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ioctl 调用方法
举报原因:
原因补充:

(最多只允许输入30个字)