summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/libwellenreiter/source/sniff.hh
Unidiff
Diffstat (limited to 'noncore/net/wellenreiter/libwellenreiter/source/sniff.hh') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/libwellenreiter/source/sniff.hh5
1 files changed, 4 insertions, 1 deletions
diff --git a/noncore/net/wellenreiter/libwellenreiter/source/sniff.hh b/noncore/net/wellenreiter/libwellenreiter/source/sniff.hh
index c7108ac..a4cf4b7 100644
--- a/noncore/net/wellenreiter/libwellenreiter/source/sniff.hh
+++ b/noncore/net/wellenreiter/libwellenreiter/source/sniff.hh
@@ -19,52 +19,55 @@ extern "C"
19#include <pcap.h> 19#include <pcap.h>
20} 20}
21 21
22#define NONBROADCASTING "non-broadcasting" 22#define NONBROADCASTING "non-broadcasting"
23 23
24/* holds all the interresting data */ 24/* holds all the interresting data */
25struct packetinfo 25struct packetinfo
26{ 26{
27 int isvalid; 27 int isvalid;
28 int pktlen; 28 int pktlen;
29 int fctype; 29 int fctype;
30 int fcsubtype; 30 int fcsubtype;
31 int fc_wep; 31 int fc_wep;
32 int cap_WEP; 32 int cap_WEP;
33 int cap_IBSS; 33 int cap_IBSS;
34 int cap_ESS; 34 int cap_ESS;
35 int channel; 35 int channel;
36 char bssid[sizeof("00:00:00:00:00:00") + 1]; 36 char bssid[sizeof("00:00:00:00:00:00") + 1];
37 char desthwaddr[sizeof("00:00:00:00:00:00") + 1]; 37 char desthwaddr[sizeof("00:00:00:00:00:00") + 1];
38 char sndhwaddr[sizeof("00:00:00:00:00:00") + 1]; 38 char sndhwaddr[sizeof("00:00:00:00:00:00") + 1];
39 char ssid[128]; 39 char ssid[128];
40 int ssid_len; 40 int ssid_len;
41}; 41};
42 42
43/* Function definitions */
44/* Used for stoping and starting the sniffer process */
45int start_sniffer(const char *device, int cardtype);
46int stop_sniffer(const char *device, int cardtype);
43void process_packets(const struct pcap_pkthdr* pkthdr,const u_char* packet, char *, int); 47void process_packets(const struct pcap_pkthdr* pkthdr,const u_char* packet, char *, int);
44int decode_80211b_hdr(const u_char *p,struct packetinfo *ppinfo); 48int decode_80211b_hdr(const u_char *p,struct packetinfo *ppinfo);
45void etheraddr_string(register const u_char *ep,char * text); 49void etheraddr_string(register const u_char *ep,char * text);
46int handle_beacon(u_int16_t fc, const u_char *p,struct packetinfo *ppinfo); 50int handle_beacon(u_int16_t fc, const u_char *p,struct packetinfo *ppinfo);
47
48int GetHeaderLength(u_int16_t fc); 51int GetHeaderLength(u_int16_t fc);
49 52
50/* 53/*
51 * True if "l" bytes of "var" were captured. 54 * True if "l" bytes of "var" were captured.
52 * 55 *
53 * The "snapend - (l) <= snapend" checks to make sure "l" isn't so large 56 * The "snapend - (l) <= snapend" checks to make sure "l" isn't so large
54 * that "snapend - (l)" underflows. 57 * that "snapend - (l)" underflows.
55 * 58 *
56 * The check is for <= rather than < because "l" might be 0. 59 * The check is for <= rather than < because "l" might be 0.
57 */ 60 */
58#define TTEST2(var, l) (snapend - (l) <= snapend && \ 61#define TTEST2(var, l) (snapend - (l) <= snapend && \
59 (const u_char *)&(var) <= snapend - (l)) 62 (const u_char *)&(var) <= snapend - (l))
60 63
61/* True if "var" was captured */ 64/* True if "var" was captured */
62#define TTEST(var) TTEST2(var, sizeof(var)) 65#define TTEST(var) TTEST2(var, sizeof(var))
63 66
64/* Bail if "l" bytes of "var" were not captured */ 67/* Bail if "l" bytes of "var" were not captured */
65#define TCHECK2(var, l) if (!TTEST2(var, l)) goto trunc 68#define TCHECK2(var, l) if (!TTEST2(var, l)) goto trunc
66 69
67/* Bail if "var" was not captured */ 70/* Bail if "var" was not captured */
68#define TCHECK(var) TCHECK2(var, sizeof(var)) 71#define TCHECK(var) TCHECK2(var, sizeof(var))
69 72
70#endif /* SNIFF_HH */ 73#endif /* SNIFF_HH */