阅读:1046回复:0
一个结构的问题。。
在arp.c中arp_init里面用到了这么一个结构....
struct neigh_table arp_tbl = { family: AF_INET, entry_size: sizeof(struct neighbour) + 4, key_len: 4, hash: arp_hash, constructor: arp_constructor, proxy_redo: parp_redo, id: \"arp_cache\", parms: { tbl: &arp_tbl, base_reachable_time: 30 * HZ, retrans_time: 1 * HZ, gc_staletime: 60 * HZ, reachable_time: 30 * HZ, delay_probe_time: 5 * HZ, queue_len: 3, ucast_probes: 3, mcast_probes: 3, anycast_delay: 1 * HZ, proxy_delay: (8 * HZ) / 10, proxy_qlen: 64, locktime: 1 * HZ, }, gc_interval: 30 * HZ, gc_thresh1: 128, gc_thresh2: 512, gc_thresh3: 1024, }; 它在 void __init arp_init (void) { neigh_table_init(&arp_tbl); dev_add_pack(&arp_packet_type); proc_net_create (\"arp\", 0, arp_get_info); #ifdef CONFIG_SYSCTL neigh_sysctl_register(NULL, &arp_tbl.parms, NET_IPV4, NET_IPV4_NEIGH, \"ipv4\"); #endif } 这个函数里面使用了,我不太明白,这个结构填写的依据是什么呢?arp.c就实现了arp协议,我现在想要实现一个自己的协议,和ARP所在的层次一致,我是不是模仿ARP。C中初始建立ARP的方法就可以呢?但是这些参数我不知道是什么意思?那里能找到它们(结构参数)的解释呢?对了,这个结构的初始化好象和标准C的方法不太一样,谁能给解释一下吗?多谢了。 。。 :( :( :( |
|
|