linux
文章平均质量分 75
Apeirion
这个作者很懒,什么都没留下…
展开
-
加入一个多播组(最简单的情况)
应用程序通过命令字IP_ADD_MEMBERSHIP把一个socket加入到一个多播组,IP_ADD_MEMBERSHIP是一个IP层的命令字,其调用使用的参数是结构体struct ip_mreq,其定义如下: struct ip_mreq {转载 2011-10-10 21:03:42 · 1799 阅读 · 0 评论 -
UDP组播接收端解析
网络中的一台主机如果希望能够接收到来自网络中其它主机发往某一个组播组的数据报,那么这么主机必须先加入该组播组,然后就可以从组地址接收数据包。在广域网中,还涉及到路由器支持组播路由等,但本文希望以一个最为简单的例子解释清楚协议栈关于组播的一个最为简单明了的工作过程,甚至,我们不希望转载 2011-10-10 20:54:08 · 805 阅读 · 0 评论 -
linux内核中的一些有趣的宏
在Linux中遍历链表会得到所需节点中后向指针成员的地址,而不是节点本身的地址。为了获取节点的地址,linux内核中引入了list_entry这个宏。#define list_enty(ptr,type,member) container_of(ptr,type,memb原创 2011-09-28 17:24:44 · 333 阅读 · 0 评论 -
两个结构体ifconf和ifreq
用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助理解的方法,在描述中可能会有一些地方与真实定义有所出入,仅供参考.首先先认识一下ifconf和ifreq:转载 2011-10-08 13:26:40 · 517 阅读 · 0 评论 -
fstat、stat和lstat 区别
stat系统调用系列包括了fstat、stat和lstat,它们都是用来返回“相关文件状态信息”的,三者的不同之处在于设定源文件的方式不同。1首先隆重介绍的是一个非常重要的”VIP”人物,他是fstat, stat和lstat三者都要用到的一个结构体类型,名字叫做struct stat。可以说,没有这个struct stat的支持,上述三个系统调用将寸步难行。这个s转载 2011-11-08 17:20:45 · 382 阅读 · 0 评论 -
Request_irq和setup_irq的区别
Linux 内核提供了两个注册中断处理函数的接口:setup_irq和request_irq。这两个函数都定义在kernel/irq/manage.c里。这两个函数有什么样的区别呢?(1)Setup_irq,Setup_irq通常用在系统时钟(GP Timer)驱动里,注册系统时钟驱动的中断处理函数。下面举个列子,如s3c2410 timer驱动结构体定义在Time.c (arch/arm/p转载 2011-11-07 19:34:49 · 326 阅读 · 0 评论