xref: /haiku/src/add-ons/kernel/drivers/network/ether/usb_asix/AX88772Device.h (revision d4e4909c6a3fe4290b78be2b78035c4774e3ff18)
1 /*
2  *	ASIX AX88172/AX88772/AX88178 USB 2.0 Ethernet Driver.
3  *	Copyright (c) 2008, 2011 S.Zharski <imker@gmx.li>
4  *	Distributed under the terms of the MIT license.
5  *
6  *	Heavily based on code of the
7  *	Driver for USB Ethernet Control Model devices
8  *	Copyright (C) 2008 Michael Lotz <mmlr@mlotz.ch>
9  *	Distributed under the terms of the MIT license.
10  *
11  */
12 #ifndef _USB_AX88772_DEVICE_H_
13 #define _USB_AX88772_DEVICE_H_
14 
15 
16 #include "ASIXDevice.h"
17 
18 
19 class AX88772Device : public ASIXDevice {
20 public:
21 							AX88772Device(usb_device device, DeviceInfo& info);
22 protected:
23 		status_t			InitDevice();
24 virtual	status_t			SetupDevice(bool deviceReplugged);
25 virtual	status_t			StartDevice();
26 virtual	status_t			OnNotify(uint32 actualLength);
27 virtual	status_t			GetLinkState(ether_link_state *state);
28 virtual	status_t			ReadMACAddress(ether_address_t *address);
29 
30 		status_t			_WakeupPHY();
31 		status_t			_SetupAX88772();
32 		status_t			_SetupAX88772A();
33 		status_t			_SetupAX88772B();
34 };
35 
36 #endif // _USB_AX88772_DEVICE_H_
37