sys/include/net/gnrc/netdev.h File Reference

netdev-GNRC glue code interface More...

Detailed Description

This interface is supposed to provide common adaption code between the low-level network device interface "netdev" and the GNRC network stack.

GNRC sends around "gnrc_pktsnip_t" structures, but netdev can only handle "struct iovec" structures when sending, or a flat buffer when receiving.

The purpose of gnrc_netdev is to bring these two interfaces together.

Author
Kaspar Schleiser kaspa.nosp@m.r@sc.nosp@m.hleis.nosp@m.er.d.nosp@m.e

Definition in file sys/include/net/gnrc/netdev.h.

#include <assert.h>
#include <stdint.h>
#include "kernel_types.h"
#include "net/netdev.h"
#include "net/gnrc.h"
#include "net/gnrc/mac/types.h"
#include "net/ieee802154.h"
#include "net/gnrc/mac/mac.h"
+ Include dependency graph for sys/include/net/gnrc/netdev.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gnrc_netdev
 Structure holding GNRC netdev adapter state. More...
 

Macros

#define GNRC_NETDEV_MAC_PRIO   (THREAD_PRIORITY_MAIN - 5)
 Default priority for adaption layer's threads.
 
#define NETDEV_MSG_TYPE_EVENT   0x1234
 Type for msg_t if device fired an event.
 
#define GNRC_NETDEV_MAC_INFO_TX_FEEDBACK_MASK   (0x0003U)
 Mask for gnrc_mac_tx_feedback_t.
 
#define GNRC_NETDEV_MAC_INFO_RX_STARTED   (0x0004U)
 Flag to track if a transmission might have corrupted a received packet.
 
#define GNRC_NETDEV_MAC_INFO_CSMA_ENABLED   (0x0100U)
 Flag to track if a device has enabled CSMA for transmissions. More...
 

Typedefs

typedef struct gnrc_netdev gnrc_netdev_t
 Structure holding GNRC netdev adapter state. More...
 

Functions

kernel_pid_t gnrc_netdev_init (char *stack, int stacksize, char priority, const char *name, gnrc_netdev_t *gnrc_netdev)
 Initialize GNRC netdev handler thread. More...