📄 00000016.htm
字号:
unsigned short mtu; /* MTU value */ <BR> unsigned short type; /* hardware type */ <BR> unsigned short hard_header_len; /* hardware hdr len */ <BR> void *priv; /* private data */ <BR> /* Interface address info. */ <BR> unsigned char broadcast[MAX_ADDR_LEN]; <BR> unsigned char pad; <BR> unsigned char dev_addr[MAX_ADDR_LEN]; <BR> unsigned char addr_len; /* hardware addr len */ <BR> unsigned long pa_addr; /* protocol address */ <BR> unsigned long pa_brdaddr; /* protocol broadcast addr*/ <BR> unsigned long pa_dstaddr; /* protocol P-P other addr*/ <BR> unsigned long pa_mask; /* protocol netmask */ <BR> unsigned short pa_alen; /* protocol address len */ <BR> struct dev_mc_list *mc_list; /* M'cast mac addrs */ <BR> int mc_count; /* No installed mcasts */ <BR> struct ip_mc_list *ip_mc_list; /* IP m'cast filter chain */ <BR> __u32 tx_queue_len; /* Max frames per queue */ <BR> /* For load balancing driver pair support */ <BR> unsigned long pkt_queue; /* Packets queued */ <BR> struct device *slave; /* Slave device */ <BR> struct net_alias_info *alias_info; /* main dev alias info */ <BR> struct net_alias *my_alias; /* alias devs */ <BR> /* Pointer to the interface buffers. */ <BR> struct sk_buff_head buffs[DEV_NUMBUFFS]; <BR> /* Pointers to interface service routines. */ <BR> int (*open)(struct device *dev); <BR> int (*stop)(struct device *dev); <BR> int (*hard_start_xmit) (struct sk_buff *skb, <BR> struct device *dev); <BR> int (*hard_header) (struct sk_buff *skb, <BR> struct device *dev, <BR> unsigned short type, <BR> void *daddr, <BR> void *saddr, <BR> unsigned len); <BR> int (*rebuild_header)(void *eth, <BR> struct device *dev, <BR> unsigned long raddr, <BR> struct sk_buff *skb); <BR> void (*set_multicast_list)(struct device *dev); <BR> int (*set_mac_address)(struct device *dev, <BR> void *addr); <BR> int (*do_ioctl)(struct device *dev, <BR> struct ifreq *ifr, <BR> int cmd); <BR> int (*set_config)(struct device *dev, <BR> struct ifmap *map); <BR> void (*header_cache_bind)(struct hh_cache **hhp, <BR> struct device *dev, <BR> unsigned short htype, <BR> __u32 daddr); <BR> void (*header_cache_update)(struct hh_cache *hh, <BR> struct device *dev, <BR> unsigned char * haddr); <BR> int (*change_mtu)(struct device *dev, <BR> int new_mtu); <BR> struct iw_statistics* (*get_wireless_stats)(struct device *dev); <BR>}; <BR>device_struct <BR>此结构被块设备和字符设备用来向核心登记(包含设备名称以及可对此设备进行的 <BR>文件操作)。chrdevs和blkdevs中的每个有效分别表示一个字符设备和块设备。 <BR>struct device_struct { <BR> const char * name; <BR> struct file_operations * fops; <BR>}; <BR>file <BR>每个打开的文件、套接口都用此结构表示。 <BR>struct file { <BR> mode_t f_mode; <BR> loff_t f_pos; <BR> unsigned short f_flags; <BR> unsigned short f_count; <BR> unsigned long f_reada, f_ramax, f_raend, f_ralen, f_rawin; <BR> struct file *f_next, *f_prev; <BR> int f_owner; /* pid or -pgrp where SIGIO should be sent */ <BR> struct inode * f_inode; <BR> struct file_operations * f_op; <BR> unsigned long f_version; <BR> void *private_data; /* needed for tty driver, and maybe others */ <BR>}; <BR>files_struct <BR>描叙被某进程打开的所有文件。 <BR>struct files_struct { <BR> int count; <BR> fd_set close_on_exec; <BR> fd_set open_fds; <BR> struct file * fd[NR_OPEN]; <BR>}; <BR>fs_struct <BR>struct fs_struct { <BR> int count; <BR> unsigned short umask; <BR> struct inode * root, * pwd; <BR>}; <BR>gendisk <BR>包含关于某个硬盘的信息。用于磁盘初始化与分区检查时。 <BR>struct hd_struct { <BR> long start_sect; <BR> long nr_sects; <BR>}; <BR>struct gendisk { <BR> int major; /* major number of driver */ <BR> const char *major_name; /* name of major driver */ <BR> int minor_shift; /* number of times minor is shifted to <BR> get real minor */ <BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -