Definition for GNRC's network interfaces. More...
Definition for GNRC's network interfaces.
Definition in file netif.h.
#include <stddef.h>#include <stdint.h>#include <stdbool.h>#include "sched.h"#include "msg.h"#include "event.h"#include "net/ipv6/addr.h"#include "net/gnrc/netapi.h"#include "net/gnrc/pkt.h"#include "net/gnrc/netif/conf.h"#include "net/gnrc/netif/flags.h"#include "net/ndp.h"#include "net/netdev.h"#include "net/netopt.h"#include "rmutex.h"#include "net/netif.h"
Include dependency graph for netif.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | gnrc_netif_t |
| Representation of a network interface. More... | |
| struct | gnrc_netif_ops |
Typedefs | |
| typedef struct gnrc_netif_ops | gnrc_netif_ops_t |
| Operations to an interface. | |
Enumerations | |
| enum | gnrc_netif_bus_t { GNRC_NETIF_BUS_IPV6, GNRC_NETIF_BUS_NUMOF } |
| Per-Interface Event Message Buses. More... | |
| enum | gnrc_ipv6_event_t { GNRC_IPV6_EVENT_ADDR_VALID } |
| Event types for GNRC_NETIF_BUS_IPV6 per-interface message bus. More... | |
Functions | |
| void | gnrc_netif_init_devs (void) |
| Initialize all available network interfaces. More... | |
| int | gnrc_netif_create (gnrc_netif_t *netif, char *stack, int stacksize, char priority, const char *name, netdev_t *dev, const gnrc_netif_ops_t *ops) |
| Creates a network interface. More... | |
| unsigned | gnrc_netif_numof (void) |
| Get number of network interfaces actually allocated. More... | |
| static bool | gnrc_netif_highlander (void) |
| Check if there can only be one gnrc_netif_t interface. More... | |
| gnrc_netif_t * | gnrc_netif_iter (const gnrc_netif_t *prev) |
| Iterate over all network interfaces. More... | |
| gnrc_netif_t * | gnrc_netif_get_by_pid (kernel_pid_t pid) |
| Get network interface by PID. More... | |
| static int | gnrc_netif_ipv6_addrs_get (const gnrc_netif_t *netif, ipv6_addr_t *addrs, size_t max_len) |
| Gets the (unicast on anycast) IPv6 address of an interface (if IPv6 is supported) More... | |
| static int | gnrc_netif_ipv6_addr_add (const gnrc_netif_t *netif, ipv6_addr_t *addr, unsigned pfx_len, uint8_t flags) |
| Adds an (unicast or anycast) IPv6 address to an interface (if IPv6 is supported) More... | |
| static int | gnrc_netif_ipv6_addr_remove (const gnrc_netif_t *netif, ipv6_addr_t *addr) |
| Removes a (unicast or anycast) IPv6 address from an interface (if IPv6 is supported) More... | |
| static int | gnrc_netif_ipv6_groups_get (const gnrc_netif_t *netif, ipv6_addr_t *groups, size_t max_len) |
| Gets the IPv6 multicast groups an interface is joined to (if IPv6 is supported) More... | |
| static int | gnrc_netif_ipv6_group_join (const gnrc_netif_t *netif, ipv6_addr_t *group) |
| Joins an IPv6 multicast group on an interface (if IPv6 is supported) More... | |
| static int | gnrc_netif_ipv6_group_leave (const gnrc_netif_t *netif, ipv6_addr_t *group) |
| Leaves an IPv6 multicast group on an interface (if IPv6 is supported) More... | |
| void | gnrc_netif_default_init (gnrc_netif_t *netif) |
| Default operation for gnrc_netif_ops_t::init() More... | |
| int | gnrc_netif_get_from_netdev (gnrc_netif_t *netif, gnrc_netapi_opt_t *opt) |
| Default operation for gnrc_netif_ops_t::get() More... | |
| int | gnrc_netif_set_from_netdev (gnrc_netif_t *netif, const gnrc_netapi_opt_t *opt) |
| Default operation for gnrc_netif_ops_t::set() More... | |
| static char * | gnrc_netif_addr_to_str (const uint8_t *addr, size_t addr_len, char *out) |
| Converts a hardware address to a human readable string. More... | |
| static size_t | gnrc_netif_addr_from_str (const char *str, uint8_t *out) |
| Parses a string of colon-separated hexadecimals to a hardware address. More... | |
| static int | gnrc_netif_send (gnrc_netif_t *netif, gnrc_pktsnip_t *pkt) |
| Send a GNRC packet via a given gnrc_netif_t interface. More... | |
| static msg_bus_t * | gnrc_netif_get_bus (gnrc_netif_t *netif, gnrc_netif_bus_t type) |
| Get a message bus of a given gnrc_netif_t interface. More... | |