hginit.c
来自「TCP-IP红宝书源代码」· C语言 代码 · 共 34 行
C
34 行
/* hginit.c - hginit */
#include <conf.h>
#include <kernel.h>
#include <proc.h>
#include <sleep.h>
#include <network.h>
#include <igmp.h>
extern int hgseed;
struct hginfo HostGroup;
struct hg hgtable[HG_TSIZE];
/*------------------------------------------------------------------------
* hginit - initialize the host group table
*------------------------------------------------------------------------
*/
void
hginit(void)
{
int i;
HostGroup.hi_mutex = screate(0);
HostGroup.hi_valid = TRUE;
resume(create(igmp_update, IGUSTK, IGUPRI, IGUNAM, IGUARGC));
for (i=0; i<HG_TSIZE; ++i)
hgtable[i].hg_state = HGS_FREE;
hgseed = nif[NI_PRIMARY].ni_ip;
signal(HostGroup.hi_mutex);
rtadd(ig_allhosts, ig_allDmask, ig_allhosts, 0, NI_PRIMARY,
RT_INF);
hgjoin(NI_PRIMARY, ig_allhosts, TRUE);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?