易截截图软件、单文件、免安装、纯绿色、仅160KB

linux系统下的ioctl函数 转

我这里说的ioctl函数是在驱动程式里的,因为我不知道更有没有别的场合用到了ioctl,
      所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混
      了,这几天才弄明白他,于是在这里清理一下头脑。
      
      一、 什么是ioctl。
      ioctl是设备驱动程式中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就
      是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。他的调用个数
      如下:
      int ioctl(int fd, ind cmd, …);
      其中fd就是用户程式打开设备时使用open函数返回的文件标示符,cmd就是用户程式对设
      备的控制命令,至于后面的省略号,那是一些补充参数,一般最多一个,有或没有是和
      cmd的意义相关的。
      ioctl函数是文件结构中的一个属性分量,就是说如果你的驱动程式提供了对ioctl的支
      持,用户就能在用户程式中使用ioctl函数控制设备的I/O通道。
      
      二、 ioctl的必要性
      如果不用ioctl的话,也能实现对设备I/O通道的控制,但那就是蛮拧了。例如,我们可
      以在驱动程式中实现write的时候检查一下是否有特别约定的数据流通过,如果有的话,
      那么后面就跟着控制命令(一般在socket编程中常常这样做)。不过如果这样做的话,会
      导致代码分工不明,程式结构混乱,程式员自己也会头昏眼花的。
      所以,我们就使用ioctl来实现控制的功能。要记住,用户程式所作的只是通过命令码告
      诉驱动程式他想做什么,至于怎么解释这些命令和怎么实现这些命令,这都是驱动程式要
      做的事情。
      
      三、 ioctl怎么实现
      这是个非常麻烦的问题,我是能省则省。要说清晰他,没有四五千字是不行的,所以我这


相关文档:

Linux 信号signal处理机制 四

4、alarm和 setitimer系统调用
        系统调用alarm的功能是设置一个定时器,当定时器计时到达时,将发出一个信号给进程。该调用的声明格式如下:
        unsigned int alarm(unsigned int seconds);
      &n ......

akw 和linux 命令

cat                                awk '{print}'
cat -s                        awk '{blank = NF == 0 ? ++blan ......

linux的触摸屏之三:解析android平台上的tslib过程

(1)在tslib目录下有设置环境变量的文本文件:settsenv.sh,内容:
export T_ROOT=/system
export LD_LIBRARY_PATH=$T_ROOT/lib
export TSLIB_CONSOLEDEVICE=
export TSLIB_FBDEVICE=/dev/graphics/fb0
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_R ......

一篇不错的介绍linux下usb驱动的文章

转载自 http://www.builder.com.cn/2007/1015/556732.shtml
Linux环境下USB的原理、驱动和配置
开发者在线 Builder.com.cn
更新时间:2007-10-15
作者:北京中科红旗软件技术有限公司 嵌入式工程师 梁国军
来源:CSDN
本文关键词: Linux
USB

作者为北京中科红旗软件技术有限公司 嵌入式工程师 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号