ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的。而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区。ioctl(keyFd, FIONREAD, &b)得到缓冲区里有多少字节要被读取,然后将字节数放入b里面。接下来就能...
分类:
其他好文 时间:
2014-10-07 16:26:53
阅读次数:
196
国内这样的代码找不到,于是参考了相关代码后完善如下代码,且实现方式通过IOCTL代码实现LCD背光调节的功能。
适合场合为平板电脑或者笔记本。主要还是要靠BIOS支持与否。
编译环境使用:Dev-cpp工具编写。
#include
#include
#include
#include
typedef struct _DISPLAY_BRIGHTNESS {
UCHAR...
分类:
其他好文 时间:
2014-10-05 18:41:38
阅读次数:
256
如果应用程序需要知道Framebuffer设备的相关参数,必须通过ioctl()系统调用来完成。在头文件中定义了所有的ioctl命令字,不过,最常用的ioctl命令字是下面这两个:FBIOGET_FSCREENINFO和FBIOGET_VSCREENINFO。前者返回与Framebuffer有关的固...
分类:
系统相关 时间:
2014-10-05 00:53:17
阅读次数:
381
ioctl
支持的操作,例如
简单数据传输控制动作,例如用户空间发起弹出介质动作反馈硬件的状态,例如报告错误信息参数配置,例如改变波特率执行自破坏
用户空间的ioctl方法原型:int ioctl(int fd, unsigned long cmd, …);每个ioctl命令就是一个独立的系统调用,而且是非公开的驱动程序的ioctl方法原型:int (*ioctl) (struct ...
分类:
系统相关 时间:
2014-09-27 23:37:30
阅读次数:
332
Binder Proxy技术方案作者 低端码农时间 2014.08.230x0看到有多朋友尝试通过hook系统进程system_process的ioctl,以企图截获系统的IPC通讯。这个方法的弊端是太偏低层了,当截获成功了之后,要解析当中的通讯数据是比較麻烦了. 另外,当中还涉及一堆兼容性的问题,...
分类:
其他好文 时间:
2014-09-25 16:23:59
阅读次数:
204
今天调一个程序调了半天,发现应用程序的ioctl的cmd参数传送到驱动程序的ioctl发生改变。而根据《linux设备驱动》这个cmd应该是不变的。因为在kernel 2.6.36 中已经完全删除了struct file_operations 中的ioctl 函数指针,取而代之的是unlocked_...
分类:
其他好文 时间:
2014-09-24 22:43:27
阅读次数:
217
转载请注明出处:windeal专栏
Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq
结构体struct ifconf来获取网络接口的各种信息。
ioctl
首先看ioctl()用法
ioctl()原型如下:
#include int ioctl(int fd, int reque...
分类:
其他好文 时间:
2014-09-16 19:00:55
阅读次数:
348
在Linux中在客户环境中诊断问题的一个非常有用的命令就是strace,可以利用其查看程序执行过程中的系统调用,调用库,每一个系统调用的时间,以及接收到的信号等等,在这里就不详细阐述strace的功能了。
最近刚好遇到一个棘手的问题,在一个客户的环境中,应用程序调用系统调用ioctl与产品的内核模块交互总是失败。然后通过strace查看进程的执行过程中的ioctl系统调用是否有异常。查...
分类:
其他好文 时间:
2014-09-03 19:52:07
阅读次数:
187
importsocketimportfcntlimportstructdefget_ip_address(ifname):s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)returnsocket.inet_ntoa(fcntl.ioctl(s.fileno(),0x8915,#SIOCGIFADDRstruct.pack(‘256s‘,ifname[:15]))[20:24])printget_ip_address(‘eth0‘)
分类:
编程语言 时间:
2014-09-01 15:51:03
阅读次数:
279
参照网上用ioctl的SIOCGIFCONF方法获取本地ip成功,代码如下:
#include
#include /* for exit() */
#include
#include /* for socket() */
#include /* for socket() */
#include ...
分类:
其他好文 时间:
2014-08-30 13:56:29
阅读次数:
276