xref: /haiku/src/add-ons/kernel/drivers/network/ether/usb_asix/AX88178Device.h (revision 268f99dd7dc4bd7474a8bd2742d3f1ec1de6752a)
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