more beacon work
[my-code/hdw-sniff.git] / main.h
1 /*
2  * main.h - main header file
3  *
4  * author: hackbard@hackdaworld.dyndns.org
5  *
6  */
7
8 #ifndef MAIN_H
9 #define MAIN_H
10
11 #define _GNU_SOURCE
12 #include <stdio.h>
13 #include <string.h>
14 #include <stdlib.h>
15 #include <sys/socket.h>
16 #include <time.h>
17 #include <netinet/in.h>
18 #include <arpa/inet.h>
19 #include <pcap.h>
20 #include <sys/types.h>
21 #include <sys/stat.h>
22 #include <fcntl.h>
23 #include <unistd.h>
24 #include <sys/ioctl.h>
25 #include <sys/time.h>
26
27 #include <linux/wireless.h>
28
29 #include "parse.h"
30
31 #include "event.h"
32 #include "display.h"
33 #include "input.h"
34 #include "list.h"
35
36 #define SYSCALL_MAX 32
37 #define CHANNEL_MAX 13
38 #define MAX_DEV_CHARS 6
39 #define MAX_SYSCALL_CHARS 64
40
41 #define HOP_SEC 0
42 #define HOP_USEC 200000
43
44 /* modes */
45 #define MODE_MONITOR (1<<0)
46 #define MODE_WLANNG (1<<1)
47 #define MODE_QUIT (1<<2)
48 #define MODE_HEXOUT (1<<3)
49 #define MODE_ASCIIOUT (1<<4)
50
51 #define MAX_BYTE_WEP 13 /* maximal 104 bit key */
52
53 /* type definitions */
54 typedef struct s_info {
55   t_event event;
56   t_display display;
57   t_input input;
58   int count; /* count packages */
59   int count_m;
60   int count_c;
61   int count_d;
62   unsigned char mode; /* monitoring/managed mode */
63   char device[MAX_DEV_CHARS]; /* sniffed devie */
64   int log_fd; /* file descriptor for logfile */
65   int pcap_fd; /* fd for reading pcap events */
66   int dump_fd; /* fd for dumping received packages */
67   int current_channel;
68   int channel_hop_fd;
69   pcap_t *pcap_handle;
70   t_list sniffed_sta;
71   int view_table;
72 } t_info;
73
74 /* function prototypes */
75 void parse_package(unsigned char *ptr,const struct pcap_pkthdr *pcap_header,const unsigned char *package);
76 int display_console(t_info *info,char *string);
77
78 #endif