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