203 #ifdef MODULE_L2FILTER 
  218     NETDEV_TYPE_ETHERNET,
 
  219     NETDEV_TYPE_IEEE802154,
 
  224     NETDEV_TYPE_NRF24L01P_NG,
 
  240 #if IS_USED(MODULE_NETDEV_LEGACY_API) || DOXYGEN 
  338     NETDEV_ESP_IEEE802154,
 
  346 #define NETDEV_INDEX_ANY    (0xFF) 
  353 #define CONFIG_NETDEV_REGISTER_SIGNAL 0 
  369 #ifdef MODULE_NETDEV_LAYER 
  372 #ifdef MODULE_L2FILTER 
  375 #ifdef MODULE_NETDEV_REGISTER 
  406 #ifdef MODULE_NETDEV_REGISTER 
  585                void *value, 
size_t max_len);
 
  611                const void *value, 
size_t value_len);
 
  625                                     void *value, 
size_t max_len)
 
  645                                     const void *value, 
size_t value_len)
 
#define ENOTSUP
Not supported (may be the same value as [EOPNOTSUPP]).
 
static void netdev_trigger_event_isr(netdev_t *netdev)
Informs netdev there was an interrupt request from the network device.
 
void netdev_register_signal(struct netdev *dev, netdev_type_t type, uint8_t index)
Signal that the netdev_register function registered the device.
 
static int netdev_get_notsup(netdev_t *dev, netopt_t opt, void *value, size_t max_len)
Convenience function for declaring get() as not supported in general.
 
#define CONFIG_NETDEV_REGISTER_SIGNAL
Call netdev_register_signal when the netdev device is registered.
 
static void netdev_register(struct netdev *dev, netdev_type_t type, uint8_t index)
Register a device with netdev.
 
netdev_type_t
Driver types for netdev.
 
struct netdev_driver netdev_driver_t
Structure to hold driver interface -> function mapping.
 
void(* netdev_event_cb_t)(netdev_t *dev, netdev_event_t event)
Event callback for signaling event to upper layers.
 
static int netdev_set_notsup(netdev_t *dev, netopt_t opt, const void *value, size_t value_len)
Convenience function for declaring set() as not supported in general.
 
netdev_event_t
Possible event types that are send from the device driver to the upper layer.
 
@ NETDEV_ANY
Will match any device type.
 
@ NETDEV_EVENT_TX_STARTED
started to transfer a frame
 
@ NETDEV_EVENT_ISR
driver needs it's ISR handled
 
@ NETDEV_EVENT_LINK_UP
link established
 
@ NETDEV_EVENT_TX_NOACK
ACK requested but not received.
 
@ NETDEV_EVENT_RX_COMPLETE
finished receiving a frame
 
@ NETDEV_EVENT_CRC_ERROR
wrong CRC
 
@ NETDEV_EVENT_TX_MEDIUM_BUSY
couldn't transfer frame
 
@ NETDEV_EVENT_TX_TIMEOUT
timeout when sending
 
@ NETDEV_EVENT_FHSS_CHANGE_CHANNEL
channel changed
 
@ NETDEV_EVENT_RX_STARTED
started to receive a frame
 
@ NETDEV_EVENT_TX_COMPLETE_DATA_PENDING
transfer frame complete and data pending flag
 
@ NETDEV_EVENT_TX_COMPLETE
transfer frame complete
 
@ NETDEV_EVENT_RX_TIMEOUT
timeout when receiving
 
@ NETDEV_EVENT_LINK_DOWN
link gone
 
@ NETDEV_EVENT_CAD_DONE
channel activity detection done
 
#define CONFIG_L2FILTER_LISTSIZE
Number of slots in each filter list (filter entries per device)
 
netopt_t
Global list of configuration options available throughout the network stack, e.g.
 
iolist scatter / gather IO
 
Common macros and compiler attributes/pragmas configuration.
 
Link layer address filter interface definition.
 
#define IS_ACTIVE(macro)
Allows to verify a macro definition outside the preprocessor.
 
Definition of global configuration options.
 
iolist structure definition
 
Structure to hold driver interface -> function mapping.
 
int(* get)(netdev_t *dev, netopt_t opt, void *value, size_t max_len)
Get an option value from a given network device.
 
int(* send)(netdev_t *dev, const iolist_t *iolist)
Start transmission of the given frame and return directly.
 
int(* confirm_send)(netdev_t *dev, void *info)
Fetch the status of a transmission and perform any potential cleanup.
 
int(* set)(netdev_t *dev, netopt_t opt, const void *value, size_t value_len)
Set an option value for a given network device.
 
int(* recv)(netdev_t *dev, void *buf, size_t len, void *info)
Drop a received frame, OR get the length of a received frame, OR get a received frame.
 
int(* init)(netdev_t *dev)
the driver's initialization function
 
void(* isr)(netdev_t *dev)
a driver's user-space ISR handler
 
Received frame status information for most radios.
 
uint8_t lqi
LQI of a received frame.
 
int16_t rssi
RSSI of a received frame in dBm.
 
Structure to hold driver state.
 
const struct netdev_driver * driver
ptr to that driver's interface.
 
void * context
ptr to network stack context
 
netdev_event_cb_t event_callback
callback for device events