taglinefilesource code
im45net/inet/igmp.cstatic void igmp_stop_timer(struct ip_mc_list *im)
im47net/inet/igmp.cdel_timer(&im->timer);
im48net/inet/igmp.cim->tm_running=0;
im59net/inet/igmp.cstatic void igmp_start_timer(struct ip_mc_list *im)
im62net/inet/igmp.cif(im->tm_running)
im65net/inet/igmp.cim->timer.expires=tv;
im66net/inet/igmp.cadd_timer(&im->timer);
im103net/inet/igmp.cstruct ip_mc_list *im=(struct ip_mc_list *)data;
im104net/inet/igmp.cigmp_stop_timer(im);
im105net/inet/igmp.cigmp_send_report(im->interface, im->multiaddr, IGMP_HOST_MEMBERSHIP_REPORT);
im108net/inet/igmp.cstatic void igmp_init_timer(struct ip_mc_list *im)
im110net/inet/igmp.cim->tm_running=0;
im111net/inet/igmp.cinit_timer(&im->timer);
im112net/inet/igmp.cim->timer.data=(unsigned long)im;
im113net/inet/igmp.cim->timer.function=&igmp_timer_expire;
im119net/inet/igmp.cstruct ip_mc_list *im;
im120net/inet/igmp.cfor(im=dev->ip_mc_list;im!=NULL;im=im->next)
im121net/inet/igmp.cif(im->multiaddr==address)
im122net/inet/igmp.cigmp_stop_timer(im);
im127net/inet/igmp.cstruct ip_mc_list *im;
im128net/inet/igmp.cfor(im=dev->ip_mc_list;im!=NULL;im=im->next)
im129net/inet/igmp.cif(!im->tm_running && im->multiaddr!=IGMP_ALL_HOSTS)
im130net/inet/igmp.cigmp_start_timer(im);
im176net/inet/igmp.cstatic void igmp_group_dropped(struct ip_mc_list *im)
im178net/inet/igmp.cdel_timer(&im->timer);
im179net/inet/igmp.cigmp_send_report(im->interface, im->multiaddr, IGMP_HOST_LEAVE_MESSAGE);
im180net/inet/igmp.cip_mc_filter_del(im->interface, im->multiaddr);
im181net/inet/igmp.cprintk("Left group %lX\n",im->multiaddr);
im184net/inet/igmp.cstatic void igmp_group_added(struct ip_mc_list *im)
im186net/inet/igmp.cigmp_init_timer(im);
im187net/inet/igmp.cigmp_send_report(im->interface, im->multiaddr, IGMP_HOST_MEMBERSHIP_REPORT);
im188net/inet/igmp.cip_mc_filter_add(im->interface, im->multiaddr);
im189net/inet/igmp.cprintk("Joined group %lX\n",im->multiaddr);
im1975net/inet/ip.cstruct ip_mc_list *im;
im1990net/inet/ip.cfor(im = dev->ip_mc_list; im; im = im->next)
im1994net/inet/ip.cim->multiaddr, im->users,
im1995net/inet/ip.cim->tm_running, im->timer.expires);