author | mjm <mjm> | 2003-02-07 11:35:02 (UTC) |
---|---|---|
committer | mjm <mjm> | 2003-02-07 11:35:02 (UTC) |
commit | e92743832becd6dc8040e62e73c8ac3f7194f2d6 (patch) (side-by-side diff) | |
tree | 16c10598f92097f5900278c780196a30a42ab023 | |
parent | 9bbfe155d26fe42ecb31744de0525a1f854b7ca5 (diff) | |
download | opie-e92743832becd6dc8040e62e73c8ac3f7194f2d6.zip opie-e92743832becd6dc8040e62e73c8ac3f7194f2d6.tar.gz opie-e92743832becd6dc8040e62e73c8ac3f7194f2d6.tar.bz2 |
inserted temporary channel switching via alarm()
-rw-r--r-- | noncore/net/wellenreiter/daemon/source/daemon.cc | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/noncore/net/wellenreiter/daemon/source/daemon.cc b/noncore/net/wellenreiter/daemon/source/daemon.cc index 51c2194..d6e8f6b 100644 --- a/noncore/net/wellenreiter/daemon/source/daemon.cc +++ b/noncore/net/wellenreiter/daemon/source/daemon.cc @@ -9,2 +9,16 @@ +// temporary solution, will be removed soon +#define MAXCHANNEL 13 +char sniffer_device[6]; +int channel=0; +int timedout=1; + +static int chanswitch() +{ + if(channel >= MAXCHANNEL) + channel=1 + card_set_channel(sniffer_device, channel, card_type); + timedout=0; +} + /* Main function of wellenreiterd */ @@ -13,3 +27,3 @@ int main(int argc, char **argv) int sock, maxfd, retval, card_type; - char buffer[WL_SOCKBUF], sniffer_device[6]; + char buffer[WL_SOCKBUF]; struct pcap_pkthdr header; @@ -27,2 +41,5 @@ int main(int argc, char **argv) + // removed soon, see above + SIGNAL(SIGALRM, chanswitch); + /* Set sniffer device */ @@ -74,2 +91,6 @@ int main(int argc, char **argv) + // blah + timedout=1; + alarm(1); + /* socket or pcap handle bigger? Will be cleaned up, have to check pcap */ @@ -77,3 +98,3 @@ int main(int argc, char **argv) - if(select(maxfd, &rset, NULL, NULL, NULL) < 0) + if(select(maxfd, &rset, NULL, NULL, NULL) < 0 && timedout) { @@ -87,3 +108,3 @@ int main(int argc, char **argv) /* Receive data from socket */ - if((retval=wl_recv(&sock, saddr, buffer, sizeof(buffer))) < 0) + if((retval=wl_recv(&sock, saddr, buffer, sizeof(buffer))) < 0 && timedout) { |