Loading...
Searching...
No Matches
esp_eth_netdev.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018 Gunar Schorcht
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
19#ifndef ESP_ETH_NETDEV_H
20#define ESP_ETH_NETDEV_H
21
22#include <stdbool.h>
23
24#include "mutex.h"
25#include "net/ethernet.h"
26#include "net/netdev.h"
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
36
40typedef struct {
43 void *eth_driver;
45 uint16_t rx_len;
46 uint16_t tx_len;
48 uint8_t rx_buf[ETHERNET_MAX_LEN];
49 uint8_t tx_buf[ETHERNET_MAX_LEN];
51 uint32_t event;
52 bool link_up;
57
58#ifdef __cplusplus
59}
60#endif
61
62#endif /* ESP_ETH_NETDEV_H */
Definitions low-level network driver interface.
const netdev_driver_t esp_eth_driver
Reference to the netdev device driver struct.
Definitions for Ethernet.
#define ETHERNET_MAX_LEN
maximum number of bytes in an ethernet frame (with FCF)
Definition ethernet.h:47
Mutex for thread synchronization.
Device descriptor for ESP-ETH devices.
mutex_t dev_lock
device is already in use
uint16_t tx_len
number of bytes in transmit buffer
netdev_t netdev
netdev parent struct
void * eth_driver
EMAC driver handle.
bool link_up
indicates whether link is up
uint16_t rx_len
number of bytes received
uint32_t event
received event
Mutex structure.
Definition mutex.h:146
Structure to hold driver interface -> function mapping.
Definition netdev.h:426
Structure to hold driver state.
Definition netdev.h:365