]> git.sesse.net Git - greproxy/blob - tunprotocol.h
Mark copyright.
[greproxy] / tunprotocol.h
1 #ifndef _TUNPROTOCOL_H
2 #define _TUNPROTOCOL_H 1
3
4 #include "protocol.h"
5
6 #include <stdint.h>
7 #include <string>
8
9 class TUNProtocol : public Sender, public Reader {
10 public:
11         TUNProtocol(const char *devname);
12         virtual void send_packet(uint16_t proto, const std::string &data, int incoming_seq);
13         virtual int fd() const;
14         virtual void read_packet(Sender* sender);
15
16         int get_received_packets() const { return received_packets; }
17         int get_sent_packets() const { return sent_packets; }
18
19 private:
20         int tunfd;
21         int seq;
22
23         int received_packets = 0, sent_packets = 0;
24 };
25
26 #endif  // !defined(_TUNPROTOCOL_H)