函数原型int ioctl(int d, int request, ...);ioctl()函数操纵底层设备的参数特殊文件。函数参数说明int ioctl(int d, int request, ...);
第一个参数必须是一个打开的文件描述。
第二个参数是设备相关的请求代码
第三个参数是一个无类型的指针的内存。指针类型依赖第二个参数。ioctl函数 第二个参数 与 第三个参数 指针类型的对应关系表...
分类:
系统相关 时间:
2015-07-14 18:02:53
阅读次数:
151
操作环境:ubuntu,基于libhid/libusb进行开发libusb介绍:libusb设计了一系列的外部API为应用程序所调用,通过这些API应用程序可以操作硬件,从libusb的源代码可以看出,这些API调用了内核的底层接口(ioctl),和kernel driver中所用到的函数所实现的功...
分类:
其他好文 时间:
2015-07-07 16:16:48
阅读次数:
195
用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助理解的方法,在描述中可能会有一些地方与真实定义有所出入,仅供参考.首先先认识一下ifconf和ifreq://ifconf通常是用来保存所有接口...
分类:
其他好文 时间:
2015-06-26 19:44:59
阅读次数:
131
今天在写字符驱动验证程序的时候要用到ioctl函数,其中有一个cmd参数,搞了半天也不了解是什么意思,那个cmd还有什么命令码了什么的,还好google下,觉得这篇文章写的不错,就转来看看:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cm...
分类:
其他好文 时间:
2015-06-24 18:30:32
阅读次数:
108
在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域: bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。 bit2...
分类:
系统相关 时间:
2015-06-24 18:04:10
阅读次数:
165
一、获取/设置套接字选项的方法
一个套接字描述符相关联的套接字选项很多。获取/设置套接字选项的方法:
1. getsockopt和setsockopt函数
2. fcntl函数
3. ioctl函数
二、 getsockopt和setsockopt函数
int getsockopt(int sockfd, int level, int optname, void* optval...
分类:
其他好文 时间:
2015-06-17 15:31:39
阅读次数:
173
ioctl 是设置和获取设备文件的物理特性,不同设备文件其物理特性不一样。比如串口的波特率,显示器分变率等。值得说明的是fcntl 与ioctl不同在于fcntl是描述文件访问控制属性而
ioctl是操作文件的物理特性。可以简单理解fcntl是操作文件共性,ioctl是操作文件的个性。
#include
int ioctl(int fd, int request, ...);
下面...
分类:
其他好文 时间:
2015-06-15 09:27:56
阅读次数:
190
驱动内容: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 1...
分类:
其他好文 时间:
2015-06-03 06:05:38
阅读次数:
187
ioctl控制设备除了读写设备之外,其他功能的实现需要ioctl。如串口的波特率的设定。用户空间:ioctl的应用apiint ioctl(int fd, unsigned long cmd, ...)fd 文件描述符cmd 发送的命令...依赖cmd命令内核空间api int (*ioctl)(....
分类:
其他好文 时间:
2015-06-03 00:53:58
阅读次数:
151
做MP3播放器时需要键盘控制音乐播放,比如按空格键音乐暂停/播放。网上查找了好久发现大都是stty命令修改终端+ioctl(STDIN_FIONREAD,&flag)读取缓冲区字符数。验证之后发现,其实用只用stty命令即可完成功能。示例如下:
分类:
其他好文 时间:
2015-06-01 20:40:06
阅读次数:
172