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

linux driver net

http://www.cublog.cn/u/2108/showart_223258.html
Linux内核数据包处理流程-数据包接收
与其说这篇文章分析了网卡驱动中中数据包的接收,还不如说是以e100为例,对网卡驱动编写的一个说明。
当然,对数据包的接收说的很清楚。
转载
数据包的接收
作者:kendo
Kernel:2.6.12
一、从网卡说起
这并非是一个网卡驱动分析的专门文档,只是对网卡处理数据包的流程进行一个重点的分析。这里以Intel的e100驱动为例进行分析。
大多数网卡都是一个PCI设备,PCI设备都包含了一个标准的配置寄存器,寄存器中,包含了PCI设备的厂商ID、设备ID等等信息,驱动
程序使用来描述这些寄存器的标识符。如下:
CODE:
struct pci_device_id {
        __u32 vendor, device;                /* Vendor and device ID or PCI_ANY_ID*/
        __u32 subvendor, subdevice;        /* Subsystem ID's or PCI_ANY_ID */
        __u32 class, class_mask;        /* (class,subclass,prog-if) triplet */
        kernel_ulong_t driver_data;        /* Data private to the driver */
};
这样,在驱动程序中,常常就可以看到定义一个struct pci_device_id 类型的数组,告诉内核支持不同类型的
PCI设备的列表,以e100驱动为例:
#define INTEL_8255X_ETHERNET_DEVICE(device_id, ich) {\
        PCI_VENDOR_ID_INTEL, device_id, PCI_ANY_ID, PCI_ANY_ID, \
        PCI_CLASS_NETWORK_ETHERNET << 8, 0xFFFF00, ich }
       
static struct pci_device_id e100_id_table[] = {
        INTEL_8255X_ETHERNET_DEVICE(0x1029, 0),
        INTEL_8255X_ETHERNET_DEVICE(0x1030, 0),
        INTEL_8255X_ETHERNET_DEVICE(0x1031, 3),
……/*略过一大堆支持的设备*/
        { 0, }
};
在内核中,一个PCI设备,使用struct pci_driver结构来描述,
struct pci_driver {
        struct list_head node;
        char *name;
&


相关文档:

Linux内核态下的文件操作

在VFS的支持下,用户态进程读写任何类型的文件系统都可以使用read和write着两个系统调用,但是在linux内核中没有这样的系统调用我们如何操作文件呢?我们知道read和write在进入内核态之后,实际执行的是sys_read和sys_write,但是查看内核源代码,发现这些操作文件的函数都没有导出(使用EXPORT_SYMBOL导出),也就是说在内核 ......

linux 递归查找文件内容

递归查找文件内容:
grep   -n   -ri   "slewing"   ./
在当前目下递归查找所有的文件
       -i, --ignore-case
              Ignore  case  distinctions  ......

转贴:Linux I/O重定向的一些小技巧

级别: 初级
樊奇 (fanqi@cn.ibm.com), Xseries eServer 工程师, IBM TSS China Beijing
2004 年 11 月 01 日
Linux I/O 重定向虽然很简单,但在脚本编写、系统管理时却要常常打交道,搞清其中使用技巧非常有用。
首先说一下什么是I/O重定向,所谓I/O重定向简单来说就是一个过程,这个过程捕捉一个文件,或者命令,程序 ......

linux kernel thread

http://hi.baidu.com/j_fo/blog/item/55f4014f1a226937aec3ab01.html
Linux Kernel Thread 的讨论
2007-05-14 11:45
kernel thread

Gearheads Written by Sreekrishnan Venkateswaran
   Thursday, 15 September 2005

Threads are programming abstractions used in concurrent processing. A ke ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号