1*cbe0a0c4SAugustin Cavalier /* 2*cbe0a0c4SAugustin Cavalier * ASIX AX88172/AX88772/AX88178 USB 2.0 Ethernet Driver. 3*cbe0a0c4SAugustin Cavalier * Copyright (c) 2008, 2011 S.Zharski <imker@gmx.li> 4*cbe0a0c4SAugustin Cavalier * Distributed under the terms of the MIT license. 5*cbe0a0c4SAugustin Cavalier * 6*cbe0a0c4SAugustin Cavalier * Heavily based on code of the 7*cbe0a0c4SAugustin Cavalier * Driver for USB Ethernet Control Model devices 8*cbe0a0c4SAugustin Cavalier * Copyright (C) 2008 Michael Lotz <mmlr@mlotz.ch> 9*cbe0a0c4SAugustin Cavalier * Distributed under the terms of the MIT license. 10*cbe0a0c4SAugustin Cavalier * 11*cbe0a0c4SAugustin Cavalier */ 12*cbe0a0c4SAugustin Cavalier #ifndef _USB_AX88178_DEVICE_H_ 13*cbe0a0c4SAugustin Cavalier #define _USB_AX88178_DEVICE_H_ 14*cbe0a0c4SAugustin Cavalier 15*cbe0a0c4SAugustin Cavalier 16*cbe0a0c4SAugustin Cavalier #include "ASIXDevice.h" 17*cbe0a0c4SAugustin Cavalier 18*cbe0a0c4SAugustin Cavalier 19*cbe0a0c4SAugustin Cavalier class AX88178Device : public ASIXDevice { 20*cbe0a0c4SAugustin Cavalier public: 21*cbe0a0c4SAugustin Cavalier AX88178Device(usb_device device, DeviceInfo& info); 22*cbe0a0c4SAugustin Cavalier protected: 23*cbe0a0c4SAugustin Cavalier status_t InitDevice(); 24*cbe0a0c4SAugustin Cavalier virtual status_t SetupDevice(bool deviceReplugged); 25*cbe0a0c4SAugustin Cavalier virtual status_t StartDevice(); 26*cbe0a0c4SAugustin Cavalier virtual status_t OnNotify(uint32 actualLength); 27*cbe0a0c4SAugustin Cavalier virtual status_t GetLinkState(ether_link_state *state); 28*cbe0a0c4SAugustin Cavalier }; 29*cbe0a0c4SAugustin Cavalier 30*cbe0a0c4SAugustin Cavalier #endif // _USB_AX88178_DEVICE_H_ 31