📄 00000016.htm
字号:
struct inode *inode; <BR> unsigned long offset; <BR> struct page *next_hash; <BR> atomic_t count; <BR> unsigned flags; /* atomic flags, some possibly <BR> updated asynchronously */ <BR> unsigned dirty:16, <BR> age:8; <BR> struct wait_queue *wait; <BR> struct page *prev_hash; <BR> struct buffer_head *buffers; <BR> unsigned long swap_unlock_entry; <BR> unsigned long map_nr; /* page->map_nr == page - mem_map */ <BR>} mem_map_t; <BR>mm_struct <BR>用来描叙某任务或进程的虚拟内存。 <BR>struct mm_struct { <BR> int count; <BR> pgd_t * pgd; <BR> unsigned long context; <BR> unsigned long start_code, end_code, start_data, end_data; <BR> unsigned long start_brk, brk, start_stack, start_mmap; <BR> unsigned long arg_start, arg_end, env_start, env_end; <BR> unsigned long rss, total_vm, locked_vm; <BR> unsigned long def_flags; <BR> struct vm_area_struct * mmap; <BR> struct vm_area_struct * mmap_avl; <BR> struct semaphore mmap_sem; <BR>}; <BR>pci_bus <BR>表示系统中的一个PCI总线。 <BR>struct pci_bus { <BR> struct pci_bus *parent; /* parent bus this bridge is on */ <BR> struct pci_bus *children; /* chain of P2P bridges on this bus */ <BR> struct pci_bus *next; /* chain of all PCI buses */ <BR> struct pci_dev *self; /* bridge device as seen by parent */ <BR> struct pci_dev *devices; /* devices behind this bridge */ <BR> void *sysdata; /* hook for sys-specific extension */ <BR> unsigned char number; /* bus number */ <BR> unsigned char primary; /* number of primary bridge */ <BR> unsigned char secondary; /* number of secondary bridge */ <BR> unsigned char subordinate; /* max number of subordinate buses */ <BR>}; <BR>pci_dev <BR>表示系统中的每个PCI设备,包括PCI-PCI和PCI-PCI桥接器。 <BR>/* <BR> * There is one pci_dev structure for each slot-number/function-number <BR> * combination: <BR> */ <BR>struct pci_dev { <BR> struct pci_bus *bus; /* bus this device is on */ <BR> struct pci_dev *sibling; /* next device on this bus */ <BR> struct pci_dev *next; /* chain of all devices */ <BR> void *sysdata; /* hook for sys-specific extension */ <BR> unsigned int devfn; /* encoded device & function index */ <BR> unsigned short vendor; <BR> unsigned short device; <BR> unsigned int class; /* 3 bytes: (base,sub,prog-if) */ <BR> unsigned int master : 1; /* set if device is master capable */ <BR> /* <BR> * In theory, the irq level can be read from configuration <BR> * space and all would be fine. However, old PCI chips don't <BR> * support these registers and return 0 instead. For example, <BR> * the Vision864-P rev 0 chip can uses INTA, but returns 0 in <BR> * the interrupt line and pin registers. pci_init() <BR> * initializes this field with the value at PCI_INTERRUPT_LINE <BR> * and it is the job of pcibios_fixup() to change it if <BR> * necessary. The field must not be 0 unless the device <BR> * cannot generate interrupts at all. <BR> */ <BR> unsigned char irq; /* irq generated by this device */ <BR>}; <BR>request <BR>被用来向系统的块设备发送请求。它总是向buffer cache读出或写入数据块。 <BR>struct request { <BR> volatile int rq_status; <BR>#define RQ_INACTIVE (-1) <BR>#define RQ_ACTIVE 1 <BR>#define RQ_SCSI_BUSY 0xffff <BR>#define RQ_SCSI_DONE 0xfffe <BR>#define RQ_SCSI_DISCONNECTING 0xffe0 <BR> kdev_t rq_dev; <BR> int cmd; /* READ or WRITE */ <BR> int errors; <BR> unsigned long sector; <BR> unsigned long nr_sectors; <BR> unsigned long current_nr_sectors; <BR> char * buffer; <BR> struct semaphore * sem; <BR> struct buffer_head * bh; <BR> struct buffer_head * bhtail; <BR> struct request * next; <BR>}; <BR>rtable <BR>用来描叙向某个IP主机发送包的路由信息。此结构在IP路由cache内部实用。 <BR>struct rtable <BR>{ <BR> struct rtable *rt_next; <BR> __u32 rt_dst; <BR> __u32 rt_src; <BR> __u32 rt_gateway; <BR> atomic_t rt_refcnt; <BR> atomic_t rt_use; <BR> unsigned long rt_window; <BR> atomic_t rt_lastuse; <BR> struct hh_cache *rt_hh; <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -