9 typedef unsigned long long int u64;
10 typedef unsigned int u32;
11 typedef unsigned short int u16;
12 typedef unsigned char u8;
16 typedef struct s_frame4_hdr {
19 u8 addr1[ADDR_LEN]; /* receiver */
20 u8 addr2[ADDR_LEN]; /* transmitter */
21 u8 addr3[ADDR_LEN]; /* destination */
23 u8 addr4[ADDR_LEN]; /* source */
24 } __attribute__ ((packed)) t_frame4_hdr;
26 typedef struct s_frame3_hdr {
29 u8 addr1[ADDR_LEN]; /* destination / bssid */
30 u8 addr2[ADDR_LEN]; /* source /bssid */
31 u8 addr3[ADDR_LEN]; /* bssid / source / destination */
33 } __attribute__ ((packed)) t_frame3_hdr;
35 typedef struct s_frame2_hdr {
38 u8 addr1[ADDR_LEN]; /* receiver / bssid / receiver */
39 u8 addr2[ADDR_LEN]; /* transmitter / transmitter / bssid */
41 } __attribute__ ((packed)) t_frame2_hdr;
43 typedef struct s_frame1_hdr {
46 u8 addr1[ADDR_LEN]; /* receiver */
48 } __attribute__ ((packed)) t_frame1_hdr;
50 #define FCTL_VER(X) ((X&0x0003))
51 #define FCTL_TYPE(X) ((X&0x000c)>>2)
52 #define FCTL_STYPE(X) ((X&0x00f0)>>4)
53 #define FCTL_TODS(X) ((X&0x0100)>>8)
54 #define FCTL_FROMDS(X) ((X&0x0200)>>9)
55 #define FCTL_MOREFRAG(X) ((X&0x0400)>>10)
56 #define FCTL_RETRY(X) ((X&0x0800)>>11)
57 #define FCTL_PWRMGT(X) ((X&1000)>>12)
58 #define FCTL_MOREDATA(X) ((X&0x2000)>>13)
59 #define FCTL_WEP(X) ((X&0x4000)>>14)
60 #define FCTL_ORDER(X) ((X&0x800)>>15)
62 #define FCTL_TYPE_MGMT 0
63 #define FCTL_TYPE_CTRL 1
64 #define FCTL_TYPE_DATA 2
66 #define FCTL_STYPE_ASSOC_REQ 0x0
67 #define FCTL_STYPE_ASSOC_RESP 0x1
68 #define FCTL_STYPE_REASSOC_REQ 0x2
69 #define FCTL_STYPE_REASSOC_RESP 0x3
70 #define FCTL_STYPE_PROBE_REQ 0x4
71 #define FCTL_STYPE_PROBE_RESP 0x5
72 #define FCTL_STYPE_BEACON 0x8
73 #define FCTL_STYPE_ATIM 0x9
74 #define FCTL_STYPE_DISASSOC 0xa
75 #define FCTL_STYPE_AUTH 0xb
76 #define FCTL_STYPE_DEAUTH 0xc
78 #define FCTL_STYPE_PSPOLL 0xa
79 #define FCTL_STYPE_RTS 0xb
80 #define FCTL_STYPE_CTS 0xc
81 #define FCTL_STYPE_ACK 0xd
82 #define FCTL_STYPE_CFEND 0xe
83 #define FCTL_STYPE_CFENDACK 0xf
85 #define FCTL_STYPE_DATA 0x0
86 #define FCTL_STYPE_DATA_CFACK 0x1
87 #define FCTL_STYPE_DATA_CFPOLL 0x2
88 #define FCTL_STYPE_DATA_CFACKPOLL 0x3
89 #define FCTL_STYPE_NULLFUNC 0x4
90 #define FCTL_STYPE_CFACK 0x5
91 #define FCTL_STYPE_CFPOLL 0x6
92 #define FCTL_STYPE_CFACKPOLL 0x7
94 typedef struct s_beacon_fb {
101 u8 srates_element_id;
102 u8 srates_element_length;
103 u8 rest; /* go on here ... */
104 } __attribute__ ((packed)) t_beacon_fb;
107 /* hdw-sniff stuff */
109 #define MAX_SSID_LEN 32
112 #define WEP_MAX_DIGITS 13
114 typedef struct s_sta {
116 char ssid[MAX_SSID_LEN];
122 char key[WEP_MAX_DIGITS];
125 /* function prototypes */