lwip_init_devs.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) Google LLC
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 
20 #ifndef LWIP_INIT_DEVS_H
21 #define LWIP_INIT_DEVS_H
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #include "lwip/netif/compat.h"
28 #include "net/netdev.h"
29 #include "xfa.h"
30 
31 void lwip_netif_init_devs(void);
32 
42 struct netif *lwip_add_ethernet(lwip_netif_t *netif, netdev_t *state);
43 
44 #if IS_USED(MODULE_LWIP_SIXLOWPAN)
53 struct netif *lwip_add_6lowpan(lwip_netif_t *netif, netdev_t *state);
54 #endif /* MODULE_LWIP_SIXLOWPAN */
55 
56 typedef void (*lwip_netif_setup_func_t)(void);
57 
61 #define LWIP_INIT_ETH_NETIF(func) \
62  XFA_USE_CONST(lwip_netif_setup_func_t, lwip_netif_eth_xfa); \
63  XFA_ADD_PTR(lwip_netif_eth_xfa, func, func, &func)
64 
68 #define LWIP_INIT_6LOWPAN_NETIF(func) \
69  XFA_USE_CONST(lwip_netif_setup_func_t, lwip_netif_6lowpan_xfa); \
70  XFA_ADD_PTR(lwip_netif_6lowpan_xfa, func, func, &func)
71 
72 #ifdef __cplusplus
73 }
74 #endif
75 
76 #endif /* LWIP_INIT_DEVS_H */
lwIP definition based on common netif_t struct for network stack-independent API.
Definitions low-level network driver interface.
struct netif * lwip_add_ethernet(lwip_netif_t *netif, netdev_t *state)
Adds an Ethernet netif using the supplied netdev.
Representation of a network interface.
Definition: compat.h:35
Structure to hold driver state.
Definition: netdev.h:365
Cross File Arrays.