增加所有文件
This commit is contained in:
51
middleware/lwip/contrib/ports/freertos/include/netdev.h
Normal file
51
middleware/lwip/contrib/ports/freertos/include/netdev.h
Normal file
@@ -0,0 +1,51 @@
|
||||
#ifndef NET_DEV_H_
|
||||
#define NET_DEV_H_
|
||||
|
||||
#include <lwip/opt.h>
|
||||
#include <lwip/netif.h>
|
||||
#include <lwip/pbuf.h>
|
||||
#include <lwip/err.h>
|
||||
|
||||
struct net_driver_s;
|
||||
|
||||
/* Link layer type. This type is used with netdev_register in order to
|
||||
* identify the type of the network driver.
|
||||
*/
|
||||
|
||||
enum net_lltype_e {
|
||||
NET_LL_ETHERNET = 0, /* Ethernet */
|
||||
NET_LL_LOOPBACK, /* Local loopback */
|
||||
NET_LL_SLIP, /* Serial Line Internet Protocol (SLIP) */
|
||||
NET_LL_TUN, /* TUN Virtual Network Device */
|
||||
NET_LL_BLUETOOTH, /* Bluetooth */
|
||||
NET_LL_IEEE80211, /* IEEE 802.11 */
|
||||
NET_LL_IEEE802154, /* IEEE 802.15.4 MAC */
|
||||
NET_LL_PKTRADIO /* Non-standard packet radio */
|
||||
};
|
||||
|
||||
struct net_driver_s {
|
||||
struct netif d_netif;
|
||||
u8_t d_lltype; /* See enum net_lltype_e */
|
||||
|
||||
/** IP address configuration in network byte order */
|
||||
ip_addr_t d_ipaddr;
|
||||
ip_addr_t d_netmask;
|
||||
ip_addr_t d_gateway;
|
||||
|
||||
err_t (*d_init)(struct net_driver_s *dev);
|
||||
err_t (*d_txavail)(struct net_driver_s *dev, struct pbuf *p);
|
||||
u32_t (*d_getmac)(struct net_driver_s *dev, void *buf, u32_t max_len);
|
||||
u32_t (*d_getmtu)(struct net_driver_s *dev);
|
||||
|
||||
void *d_private;
|
||||
};
|
||||
|
||||
err_t netdev_register(struct net_driver_s *dev, enum net_lltype_e lltype);
|
||||
|
||||
static inline void netdev_input(struct net_driver_s *dev, struct pbuf *p) {
|
||||
if (dev->d_netif.input(p, &dev->d_netif) != ERR_OK) {
|
||||
pbuf_free(p);
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* NET_DEV_H_ */
|
||||
Reference in New Issue
Block a user