Linux中ioctl()函数命令字生成:
bit31~bit30:“区别读写” 区,作用是区分是读取命令还是写入命令;
bit29~bit16:“数据大小” 区,表示 ioctl() 中的 arg 变量传送的内存大小。
bit15~bit8 :“魔数”(也称为"幻数")区,这个值用以与其它设备驱动程序的 ioctl 命令进行区别。
bit7~bit0 :“区别序号”区,是区分命令的命令顺序序号。...
分类:
系统相关 时间:
2015-05-20 14:48:15
阅读次数:
196
(1)mixer设置音量配置
SOUND_MIXER_VOLUME 主音量调节
SOUND_MIXER_RECLEV 录音音量
示例:
#include
int fd,iLevel,iRight,iRight;
fd= open("/dev/mixer", O_WRONLY);
iLevel = (iRight
ioctl(fd, MIXER_WRITE(SOUND_MIXER...
分类:
其他好文 时间:
2015-05-19 00:50:59
阅读次数:
240
在Linux下获取关于IP和网关的操作:重点是对struct ifreq 的操作。那么进入目录/usr/include/net/if.h下看查找struct ifreq结构体。/* Interface request structure used for socket ioctl's. All i....
分类:
系统相关 时间:
2015-05-13 21:32:43
阅读次数:
179
三星公司提供的图片采集程序源码是这个:/***************** Capture Thread *****************/
void capture_thread(void)
{
int start, ret;
int key; start = 1;
ret = ioctl(cam_c_fp, VIDIOC_STREAMON, &start);...
分类:
其他好文 时间:
2015-05-05 14:31:44
阅读次数:
166
前段时间实现了利用三星S3C6410一边压缩视频生成H264文件一边抓取并压缩生成jpg图片。核心步骤如下:
视频压缩和图片压缩利用同一个handle。
/* Codec set */
/* Get capability */
ret = ioctl(cam_c_fp , VIDIOC_QUERYCAP, &cap);一边压缩视频:if(frame_count == 1)...
分类:
其他好文 时间:
2015-05-05 14:29:26
阅读次数:
199
1.ifconfig-a其中HWaddr字段就是mac地址2.cat/sys/class/net/eth0/address查看eth0的mac地址3.cat/proc/net/arp查看连接到本机的远端ip的mac地址4.程序中使用SIOCGIFHWADDR的ioctl命令获取mac地址
分类:
系统相关 时间:
2015-04-22 16:07:51
阅读次数:
158
1 ioctl介绍:
用户空间ioctl :int ioctl(int fd,unsinged long cmd,...)
fd-文件描述符
cmd-对设备的发出的控制命令
...表示这是一个可选的参数,存在与否依赖于cmd,如cmd为修改波特率,那么....就表示波特率的值。如果cmd表示关闭,则不需要参数
成功返回0,错误返回-1。
内核空间:我用的是...
分类:
其他好文 时间:
2015-04-21 16:12:10
阅读次数:
206
系统调用和设备驱动程序(系统调用是调用设备驱动程序的)
为了向用户提供一个一致的接口,设备驱动程序封装了所有与硬件相关的特性。
open:打开文件或设备
read:从打开的问价或设备里读数据
wirte:向文件或设备写数据
close:关闭文件或设备
ioctl:把控制信息传递给设备驱动程序库函数
针对输入输出操作直接使用底层系统调用的一个问题是它们效率非常低
1)使用系统调用会影响...
分类:
系统相关 时间:
2015-04-20 09:37:55
阅读次数:
248
一.理论分析1.现实生活中,对一个设备除了能够读写之外,我们还希望能够对设备进行控制,比如说LED的亮灭,电机的转动等。2.一般希望能从应用程序传递命令给内核从而使得能够调用控制函数实现不同的控制。3.在用户空间,使用ioctl系统调用来控制设备:(应用程序接口)int ioctl(int fd,u...
分类:
其他好文 时间:
2015-04-15 17:01:48
阅读次数:
132
以下内容来自:http://blog.csdn.net/g_salamander/article/details/8107692在应用程序获取视频数据的流程中,都是通过 ioctl 命令与驱动程序进行交互,常见的 ioctl 命令有:[cpp]view plaincopyVIDIOC_QUERYCA...
分类:
其他好文 时间:
2015-04-14 16:19:05
阅读次数:
180