在写内核驱动的时候,用到了ioctl。自己定义cmd作为ioctl的参数。如下:enum CMD { LEVEL_DOWN, LEVEL_UP, GPIO_INPUT, GPIO_OUTPUT, GPIO_GET,};ioctl底层调用代码:static long le...
分类:
其他好文 时间:
2015-11-07 17:17:49
阅读次数:
997
在排查业务 bug 的过程中,看到如下两种输出信息: TCP 连接正常情况下,进行数据读取 14:00:38 epoll_ctl(26, EPOLL_CTL_MOD, 31, {EPOLLIN, {u32=31, u64=31}}) = 0
14:00:38 epoll_wait(26, {{EPOLLIN, {u32=3...
分类:
其他好文 时间:
2015-10-27 17:56:52
阅读次数:
483
目前我所知道的在Linux下操作GPIO有两种方法:1.编写驱动,这当然要熟悉Linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据ioctl命令进行GPIO寄存器的读写,并把结果回送到应用层。这里提供一点程序片断供大家参考: int i...
分类:
系统相关 时间:
2015-10-27 17:20:40
阅读次数:
221
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。 一、 什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通....
分类:
系统相关 时间:
2015-10-21 09:19:31
阅读次数:
300
用户空间 ioctl() 系统调用原型 int ioctl(int fd,unsigned long cmd, ...);驱动中的 ioctl 方法原型 int (*ioctl) (struct inode *inode,struct file *flip,unsigned int cmd,unsi...
分类:
其他好文 时间:
2015-09-26 10:29:40
阅读次数:
246
DeviceIoControl 发送控制代码到指定设备驱动程序参数解释:hDevice Long,设备句柄dwIoControlCode Long,应用程序调用驱动程序的控制命令,就是IOCTL_XXX IOCTLs。lpInBuffer Any,应用程序传递给驱动程序的数据缓冲区地址。nInBu....
分类:
其他好文 时间:
2015-09-21 15:44:59
阅读次数:
256
转自:http://www.cnblogs.com/geneil/archive/2011/12/04/2275372.html 大部分驱动除了需要具备读写设备的能力之外,还需要具备对硬件控制的能力。 一、在用户空间,使用ioctl系统调用来控制设备,原型如下:int ioctl(int fd,u....
分类:
系统相关 时间:
2015-09-18 15:12:10
阅读次数:
264
概要 ioctl 功能与 fcntl 功能类似,它可以被用于描述操作的叙述字符,获取或设置属性的描述是开放式的叙事休息,但在网络编程的两个功能有关的不同类型的操作。fcntl 作、文件操作,而 ioctl 函数除了能够操作 fcntl 函数可操作的类型之外,还能够进行接口操作、路由表操作、 A...
分类:
其他好文 时间:
2015-09-16 19:38:05
阅读次数:
227
ifconfig -a 其中 HWaddr字段就是mac地址 ?cat /sys/class/net/eth0/address 查看eth0的mac地址 cat /proc/net/arp 查看连接到本机的远端ip的mac地址 4. 程序中使用SIOCGIFHWADDR的ioctl命令获取mac地址...
分类:
其他好文 时间:
2015-09-02 10:51:41
阅读次数:
184
def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl(s.fileno(),0x8915,struct.pa...
分类:
编程语言 时间:
2015-08-26 01:23:03
阅读次数:
217