Mistake on this page?
Report an issue in GitHub or email us
netif/ethernet.h
Go to the documentation of this file.
1 /**
2  * @file
3  * Ethernet input function - handles INCOMING ethernet level traffic
4  * To be used in most low-level netif implementations
5  */
6 
7 /*
8  * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
9  * Copyright (c) 2003-2004 Leon Woestenberg <leon.woestenberg@axon.tv>
10  * Copyright (c) 2003-2004 Axon Digital Design B.V., The Netherlands.
11  * All rights reserved.
12  *
13  * Redistribution and use in source and binary forms, with or without modification,
14  * are permitted provided that the following conditions are met:
15  *
16  * 1. Redistributions of source code must retain the above copyright notice,
17  * this list of conditions and the following disclaimer.
18  * 2. Redistributions in binary form must reproduce the above copyright notice,
19  * this list of conditions and the following disclaimer in the documentation
20  * and/or other materials provided with the distribution.
21  * 3. The name of the author may not be used to endorse or promote products
22  * derived from this software without specific prior written permission.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
25  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
26  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
27  * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
29  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
32  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
33  * OF SUCH DAMAGE.
34  *
35  * This file is part of the lwIP TCP/IP stack.
36  *
37  * Author: Adam Dunkels <adam@sics.se>
38  *
39  */
40 
41 #ifndef LWIP_HDR_NETIF_ETHERNET_H
42 #define LWIP_HDR_NETIF_ETHERNET_H
43 
44 #include "lwip/opt.h"
45 
46 #include "lwip/pbuf.h"
47 #include "lwip/netif.h"
48 #include "lwip/prot/ethernet.h"
49 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 
54 #if LWIP_ARP || LWIP_ETHERNET
55 
56 /** Define this to 1 and define LWIP_ARP_FILTER_NETIF_FN(pbuf, netif, type)
57  * to a filter function that returns the correct netif when using multiple
58  * netifs on one hardware interface where the netif's low-level receive
59  * routine cannot decide for the correct netif (e.g. when mapping multiple
60  * IP addresses to one hardware interface).
61  */
62 #ifndef LWIP_ARP_FILTER_NETIF
63 #define LWIP_ARP_FILTER_NETIF 0
64 #endif
65 
66 err_t ethernet_input(struct pbuf *p, struct netif *netif);
67 err_t ethernet_output(struct netif* netif, struct pbuf* p, const struct eth_addr* src, const struct eth_addr* dst, u16_t eth_type);
68 
69 extern const struct eth_addr ethbroadcast, ethzero;
70 
71 #endif /* LWIP_ARP || LWIP_ETHERNET */
72 
73 #ifdef __cplusplus
74 }
75 #endif
76 
77 #endif /* LWIP_HDR_NETIF_ETHERNET_H */
lwIP Options Configuration
netif API (to be used from TCPIP thread)
Main packet buffer struct.
Generic data structure used for all lwIP network interfaces.
pbuf API
Ethernet protocol definitions.
An Ethernet MAC address.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.