xref: /nrf52832-nimble/rt-thread/components/net/lwip-1.4.1/src/include/netif/ethernetif.h (revision 104654410c56c573564690304ae786df310c91fc)
1*10465441SEvalZero #ifndef __NETIF_ETHERNETIF_H__
2*10465441SEvalZero #define __NETIF_ETHERNETIF_H__
3*10465441SEvalZero 
4*10465441SEvalZero #include "lwip/netif.h"
5*10465441SEvalZero #include <rtthread.h>
6*10465441SEvalZero 
7*10465441SEvalZero #define NIOCTL_GADDR		0x01
8*10465441SEvalZero #ifndef RT_LWIP_ETH_MTU
9*10465441SEvalZero #define ETHERNET_MTU		1500
10*10465441SEvalZero #else
11*10465441SEvalZero #define ETHERNET_MTU		RT_LWIP_ETH_MTU
12*10465441SEvalZero #endif
13*10465441SEvalZero 
14*10465441SEvalZero /* eth flag with auto_linkup or phy_linkup */
15*10465441SEvalZero #define ETHIF_LINK_AUTOUP	0x0000
16*10465441SEvalZero #define ETHIF_LINK_PHYUP	0x0100
17*10465441SEvalZero 
18*10465441SEvalZero struct eth_device
19*10465441SEvalZero {
20*10465441SEvalZero 	/* inherit from rt_device */
21*10465441SEvalZero 	struct rt_device parent;
22*10465441SEvalZero 
23*10465441SEvalZero 	/* network interface for lwip */
24*10465441SEvalZero 	struct netif *netif;
25*10465441SEvalZero 	struct rt_semaphore tx_ack;
26*10465441SEvalZero 
27*10465441SEvalZero 	rt_uint16_t flags;
28*10465441SEvalZero 	rt_uint8_t  link_changed;
29*10465441SEvalZero 	rt_uint8_t  link_status;
30*10465441SEvalZero 
31*10465441SEvalZero 	/* eth device interface */
32*10465441SEvalZero 	struct pbuf* (*eth_rx)(rt_device_t dev);
33*10465441SEvalZero 	rt_err_t (*eth_tx)(rt_device_t dev, struct pbuf* p);
34*10465441SEvalZero };
35*10465441SEvalZero 
36*10465441SEvalZero rt_err_t eth_device_ready(struct eth_device* dev);
37*10465441SEvalZero rt_err_t eth_device_init(struct eth_device * dev, char *name);
38*10465441SEvalZero rt_err_t eth_device_init_with_flag(struct eth_device *dev, char *name, rt_uint16_t flag);
39*10465441SEvalZero rt_err_t eth_device_linkchange(struct eth_device* dev, rt_bool_t up);
40*10465441SEvalZero 
41*10465441SEvalZero int eth_system_device_init(void);
42*10465441SEvalZero 
43*10465441SEvalZero #endif /* __NETIF_ETHERNETIF_H__ */
44