fixed signal quality output
[my-code/hdw-sniff.git] / main.c
diff --git a/main.c b/main.c
index dee4596..e3cb85c 100644 (file)
--- a/main.c
+++ b/main.c
@@ -7,8 +7,6 @@
 
 #include "main.h"
 
-// void parse_package(unsigned char *ptr,const struct pcap_pkthdr *pcap_header,const unsigned char *package);
-
 /* functions */
 
 int display_console(t_info *info,char *string) {
@@ -38,6 +36,7 @@ int display_console(t_info *info,char *string) {
     display_string(display,GUI_OFFSET_CTRL,1,"| ctrl",6);
     display_string(display,GUI_OFFSET_DATA,1,"| data",6);
     display_string(display,GUI_OFFSET_ACTIVE,1,"| act",5);
+    display_string(display,GUI_OFFSET_SIGNAL,1,"| sq",4);
     display_line(display,0,2,x,2,'-');
 
     list_reset(&(info->sniffed_sta));
@@ -67,6 +66,8 @@ int display_console(t_info *info,char *string) {
       display_string(display,GUI_OFFSET_MGMT,3+i,help,20);
       snprintf(help,5,"|  %c",sta->active);
       display_string(display,GUI_OFFSET_ACTIVE,3+i,help,4);
+      snprintf(help,5,"| %02u",sta->sq);
+      display_string(display,GUI_OFFSET_SIGNAL,3+i,help,4);
       list_next(&(info->sniffed_sta));
     }
   }
@@ -193,7 +194,7 @@ int react_on_event(t_event *event,void *ptr) {
 int usage(void) {
   puts("usage: hdw-sniff <options>");
   puts("\toptions:");
-  puts("\t\t-m <mode> \tmonitor and/or wlanng");
+  puts("\t\t-m <mode> \tieee80211 or prism");
   puts("\t\t-d <device> \twlan0,eth0");
   puts("\t\t-l <logfile>");
   puts("\t\t-k <key> \t(string)");
@@ -244,13 +245,13 @@ int main(int argc, char **argv) {
     case 'h':
      usage();
     case 'm':
-     if(!strncmp(argv[i+1],"monitor",7)) {
-      info.mode|=MODE_MONITOR;
-      puts("will go to monitor mode.");
+     if(!strncmp(argv[i+1],"ieee80211",9)) {
+      info.mode|=MODE_IEEE80211;
+      puts("expecting ieee802.11 header in package");
      }
-     else if(!strncmp(argv[i+1],"wlanng",6)) {
-      info.mode|=MODE_WLANNG;
-      puts("expecting wlanng header in package.");
+     else if(!strncmp(argv[i+1],"prism",5)) {
+      info.mode|=MODE_PRISM;
+      puts("expecting prism header in package.");
      }
      else {
       printf("unknown mode: %s\n",argv[1]);
@@ -287,11 +288,14 @@ int main(int argc, char **argv) {
  }
 
  /* setting up device */
- if(info.mode&MODE_MONITOR) {
-  sprintf(sys_call,"iwconfig %s mode monitor",info.device);
-  puts("set monitoring mode ...");
-  system(sys_call);
- }
+ if(info.mode&MODE_IEEE80211)
+  sprintf(sys_call,"iwpriv %s monitor 2",info.device);
+ else if(info.mode&MODE_PRISM)
+  sprintf(sys_call,"iwpriv %s monitor 3",info.device);
+
+ puts("set monitoring mode ...");
+ system(sys_call);
  sprintf(sys_call,"ifconfig %s up",info.device);
  puts("setting up device ...");
  system(sys_call);