1 /**
2  * Ethernet Win32-Tap driver
3  *
4  * Standa (c) 2004-2005
5  *
6  * GPL
7  */
8 
9 #ifndef _ETHERNET_CYGWIN_H
10 #define _ETHERNET_CYGWIN_H
11 
12 #include "ethernet.h"
13 #include "windows_ver.h"
14 
15 class WinTapEthernetHandler : public ETHERNETDriver::Handler {
16 	OVERLAPPED read_overlapped;
17 	OVERLAPPED write_overlapped;
18 	HANDLE device_handle;
19 	char *device;
20 	char *iface;
21 
22 	int device_total_in;
23 	int device_total_out;
24 
25 public:
26 	WinTapEthernetHandler(int eth_idx);
27 	virtual ~WinTapEthernetHandler();
28 
29 	virtual bool open();
30 	virtual void close();
31 	virtual int recv(uint8 *buf, int len);
32 	virtual int send(const uint8 *buf, int len);
33 };
34 
35 #define ETHERNET_HANDLER_CLASSNAME WinTapEthernetHandler
36 
37 #endif // _ETHERNET_CYGWIN_H
38