- count=0;
- p_count=&count;
- pcap_dispatch(pcap_handle,-1,(pcap_handler)pcap_process,
- (u_char *)&p_count);
+ my_info_struct.count=0;
+ my_info_struct.mmode=argv[2][0];
+ strcpy(my_info_struct.dev,argv[1]);
+
+ /* prepare for select */
+ pcap_fd=pcap_fileno(pcap_handle);
+ FD_ZERO(&pcap_fd_set);
+ FD_SET(pcap_fd,&pcap_fd_set);
+ fd_set_tv.tv_sec=0;
+ fd_set_tv.tv_usec=500000;
+
+ /* do loopp */
+ while(1) {
+ if((select(pcap_fd+1,&pcap_fd_set,NULL,NULL,&fd_set_tv)) && (FD_ISSET(pcap_fd,&pcap_fd_set))) pcap_loop(pcap_handle,-1,pcap_process,(u_char *)&my_info_struct);
+ else hop_channel(&my_info_struct,pcap_fd);
+ }
+ return 0;