1
/*** This Programs/Libraries are (C)opyright by Sebastian Krahmer.
2
*** You may use it under the terms of the GPL. You should have
3
*** already received the file COPYING that shows you your rights.
4
*** Please look at COPYING for further license-details.
6
*** THERE IS ABSOLUTELY NO WARRANTY. SO YOU USE IT AT YOUR OWN RISK.
7
*** IT WAS WRITTEN IN THE HOPE THAT IT WILL BE USEFULL. I AM NOT RESPONSIBLE
8
*** FOR ANY DAMAGE YOU MAYBE GET DUE TO USING MY PROGRAMS.
11
#include "usi++/usi-structs.h"
14
#include "usi++/Layer2.h"
15
#include "usi++/datalink.h"
16
#include "usi++/TX_IP.h"
22
Layer2::Layer2(RX *r, TX *t)
35
Layer2::Layer2(const Layer2& rhs) {
54
int Layer2::sendpack(void *buf, size_t len, struct sockaddr *s)
56
return d_tx->sendpack(buf, len, s);
59
// delegate sniff request to the receiver
60
int Layer2::sniffpack(void *buf, size_t len)
62
return d_rx->sniffpack(buf, len);
65
int Layer2::setfilter(char *fstring)
67
return d_rx->setfilter(fstring);
70
int Layer2::init_device(char *dev, int p, size_t snaplen)
72
return d_rx->init_device(dev, p, snaplen);
75
int Layer2::timeout(struct timeval tv)
77
if (d_rx) return d_rx->timeout(tv);
78
if (d_tx) return d_tx->timeout(tv);
82
bool Layer2::timeout()
84
if (d_rx) return d_rx->timeout();
85
if (d_tx) return d_tx->timeout();
89
Layer2& Layer2::operator=(const Layer2 &rhs )