small fixes in documentation + initial checkin of wep - crack tool
[my-code/hdw-sniff.git] / main.h
diff --git a/main.h b/main.h
index 4d9b7b6..0c49128 100644 (file)
--- a/main.h
+++ b/main.h
@@ -5,33 +5,94 @@
  *
  */
 
+#ifndef MAIN_H
+#define MAIN_H
+
+#define _GNU_SOURCE
 #include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <sys/socket.h>
+#include <time.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <pcap.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/ioctl.h>
+#include <sys/time.h>
+
+#include <linux/wireless.h>
+
+#include "parse.h"
 
+#include "event.h"
+#include "display.h"
+#include "input.h"
+#include "list.h"
 
 #define SYSCALL_MAX 32
+#define MESSAGE_MAX 64
+#define CHANNEL_MAX 13
 #define MAX_DEV_CHARS 6
-#define PCAP_SELECT_SEC 0
-#define PCAP_SELECT_USEC 200000
+#define MAX_SYSCALL_CHARS 128
 
-#define CAP_MODE_MASK 0x01
-#define CAP_QUIT_MASK 0x02
+#define HOP_SEC 0
+#define HOP_USEC 200000
 
-#define MONITORING_MODE 0x01
-#define MANAGED_MODE 0x00
-#define QUIT_MODE 0x02
+#define GUI_OFFSET_STA 1
+#define GUI_OFFSET_SSID 19
+#define GUI_OFFSET_AP 39
+#define GUI_OFFSET_WEP 44
+#define GUI_OFFSET_MGMT 50
+#define GUI_OFFSET_CTRL 57
+#define GUI_OFFSET_DATA 64
+#define GUI_OFFSET_ACTIVE 71
+#define GUI_OFFSET_SIGNAL 77
 
-#define IWPRIV_M_MODE 3
+#define HDW_SNIFF_MAX_WIDTH (GUI_OFFSET_SIGNAL+5)
+#define HDW_SNIFF_MAX_HEIGHT 8
 
+/* modes */
+#define MODE_IEEE80211 (1<<0)
+#define MODE_PRISM (1<<1)
+#define MODE_QUIT (1<<2)
+#define MODE_HEXOUT (1<<3)
+#define MODE_ASCIIOUT (1<<4)
 
-/* typedefinitions */
-struct info_struct
-{
- unsigned char caps; /* capabilities */
- int logfile_fd; /* file descriptof for logfile */
- char device[MAX_DEV_CHARS]; /* sniffed devie */
- int channel_hop_fd; /* fd for channel hopping */
-};
+#define MAX_BYTE_WEP 13 /* maximal 104 bit key */
 
+#define VIEW_ALL 0x00
+#define VIEW_SINGLE 0x01
+
+/* type definitions */
+typedef struct s_info {
+  t_event event;
+  t_display display;
+  char *clean_line;
+  int c_line,c_page;
+  unsigned char view;
+  t_input input;
+  int count; /* count packages */
+  int count_m;
+  int count_c;
+  int count_d;
+  unsigned char mode; /* ieee802.11/prism mode */
+  char device[MAX_DEV_CHARS]; /* sniffed devie */
+  int log_fd; /* file descriptor for logfile */
+  char dump_file[128];
+  pcap_dumper_t *dump_handle;
+  int current_channel;
+  int channel_hop_fd;
+  pcap_t *pcap_handle;
+  t_list sniffed_sta;
+  int view_table;
+} t_info;
 
 /* function prototypes */
-int usage(void); 
+void parse_package(unsigned char *ptr,const struct pcap_pkthdr *pcap_header,const unsigned char *package);
+int display_console(t_info *info,char *string);
+
+#endif