Webserver+3d print
ethernet.c File Reference
Ethernet. More...
Go to the source code of this file.
Functions | |
error_t | ethInit (NetInterface *interface) |
Ethernet related initialization. | |
void | ethProcessFrame (NetInterface *interface, EthHeader *ethFrame, size_t length) |
Process an incoming Ethernet frame. | |
error_t | ethSendFrame (NetInterface *interface, const MacAddr *destAddr, NetBuffer *buffer, size_t offset, uint16_t type) |
Send an Ethernet frame. | |
error_t | ethCheckDestAddr (NetInterface *interface, const MacAddr *macAddr) |
Destination MAC address filtering. | |
error_t | ethAcceptMulticastAddr (NetInterface *interface, const MacAddr *macAddr) |
Add a multicast address to the MAC filter table. | |
error_t | ethDropMulticastAddr (NetInterface *interface, const MacAddr *macAddr) |
Remove a multicast address from the MAC filter table. | |
uint32_t | ethCalcCrc (const void *data, size_t length) |
Ethernet CRC calculation. | |
uint32_t | ethCalcCrcEx (const NetBuffer *buffer, size_t offset, size_t length) |
Calculate CRC over a multi-part buffer. | |
NetBuffer * | ethAllocBuffer (size_t length, size_t *offset) |
Allocate a buffer to hold an Ethernet frame. | |
error_t | macStringToAddr (const char_t *str, MacAddr *macAddr) |
Convert a string representation of a MAC address to a binary MAC address. | |
char_t * | macAddrToString (const MacAddr *macAddr, char_t *str) |
Convert a MAC address to a dash delimited string. | |
error_t | eui64StringToAddr (const char_t *str, Eui64 *eui64) |
Convert a string representation of an EUI-64 address to a binary EUI-64 address. | |
char_t * | eui64AddrToString (const Eui64 *eui64, char_t *str) |
Convert an EUI-64 address to a dash delimited string. | |
void | macAddrToEui64 (const MacAddr *macAddr, Eui64 *interfaceId) |
Map a MAC address to the IPv6 modified EUI-64 identifier. | |
void | ethDumpHeader (const EthHeader *ethHeader) |
Dump Ethernet header for debugging purpose. |
Detailed Description
Ethernet.
License
Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneTCP Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version:
- 1.7.6
Definition in file ethernet.c.
Function Documentation
error_t ethAcceptMulticastAddr | ( | NetInterface * | interface, |
const MacAddr * | macAddr | ||
) |
Add a multicast address to the MAC filter table.
- Parameters:
-
[in] interface Underlying network interface [in] macAddr Multicast MAC address to accept
- Returns:
- Error code
Definition at line 472 of file ethernet.c.
NetBuffer* ethAllocBuffer | ( | size_t | length, |
size_t * | offset | ||
) |
Allocate a buffer to hold an Ethernet frame.
- Parameters:
-
[in] length Desired payload length [out] offset Offset to the first byte of the payload
- Returns:
- The function returns a pointer to the newly allocated buffer. If the system is out of resources, NULL is returned
Definition at line 729 of file ethernet.c.
uint32_t ethCalcCrc | ( | const void * | data, |
size_t | length | ||
) |
Ethernet CRC calculation.
- Parameters:
-
[in] data Pointer to the data over which to calculate the CRC [in] length Number of bytes to process
- Returns:
- Resulting CRC value
Definition at line 596 of file ethernet.c.
uint32_t ethCalcCrcEx | ( | const NetBuffer * | buffer, |
size_t | offset, | ||
size_t | length | ||
) |
Calculate CRC over a multi-part buffer.
- Parameters:
-
[in] buffer Pointer to the multi-part buffer [in] offset Offset from the beginning of the buffer [in] length Number of bytes to process
- Returns:
- Resulting CRC value
Definition at line 656 of file ethernet.c.
error_t ethCheckDestAddr | ( | NetInterface * | interface, |
const MacAddr * | macAddr | ||
) |
Destination MAC address filtering.
- Parameters:
-
[in] interface Underlying network interface [in] macAddr Destination MAC address to be checked
- Returns:
- Error code
Definition at line 417 of file ethernet.c.
error_t ethDropMulticastAddr | ( | NetInterface * | interface, |
const MacAddr * | macAddr | ||
) |
Remove a multicast address from the MAC filter table.
- Parameters:
-
[in] interface Underlying network interface [in] macAddr Multicast MAC address to drop
- Returns:
- Error code
Definition at line 542 of file ethernet.c.
void ethDumpHeader | ( | const EthHeader * | ethHeader ) |
Dump Ethernet header for debugging purpose.
- Parameters:
-
[in] ethHeader Pointer to the Ethernet header
Definition at line 1008 of file ethernet.c.
error_t ethInit | ( | NetInterface * | interface ) |
Ethernet related initialization.
- Parameters:
-
[in] interface Underlying network interface
- Returns:
- Error code
Definition at line 151 of file ethernet.c.
void ethProcessFrame | ( | NetInterface * | interface, |
EthHeader * | ethFrame, | ||
size_t | length | ||
) |
Process an incoming Ethernet frame.
- Parameters:
-
[in] interface Underlying network interface [in] ethFrame Incoming Ethernet frame to process [in] length Total frame length
Definition at line 169 of file ethernet.c.
error_t ethSendFrame | ( | NetInterface * | interface, |
const MacAddr * | destAddr, | ||
NetBuffer * | buffer, | ||
size_t | offset, | ||
uint16_t | type | ||
) |
Send an Ethernet frame.
- Parameters:
-
[in] interface Underlying network interface [in] destAddr MAC address of the destination host [in] buffer Multi-part buffer containing the payload [in] offset Offset to the first payload byte [in] type Ethernet type
- Returns:
- Error code
Definition at line 314 of file ethernet.c.
char_t* eui64AddrToString | ( | const Eui64 * | eui64, |
char_t * | str | ||
) |
Convert an EUI-64 address to a dash delimited string.
- Parameters:
-
[in] eui64 Pointer to the EUI-64 address [out] str NULL-terminated string representing the EUI-64 address
- Returns:
- Pointer to the formatted string
Definition at line 956 of file ethernet.c.
error_t eui64StringToAddr | ( | const char_t * | str, |
Eui64 * | eui64 | ||
) |
Convert a string representation of an EUI-64 address to a binary EUI-64 address.
- Parameters:
-
[in] str NULL-terminated string representing the EUI-64 address [out] eui64 Binary representation of the EUI-64 address
- Returns:
- Error code
Definition at line 867 of file ethernet.c.
void macAddrToEui64 | ( | const MacAddr * | macAddr, |
Eui64 * | interfaceId | ||
) |
Map a MAC address to the IPv6 modified EUI-64 identifier.
- Parameters:
-
[in] macAddr Host MAC address [out] interfaceId IPv6 modified EUI-64 identifier
Definition at line 981 of file ethernet.c.
char_t* macAddrToString | ( | const MacAddr * | macAddr, |
char_t * | str | ||
) |
Convert a MAC address to a dash delimited string.
- Parameters:
-
[in] macAddr Pointer to the MAC address [out] str NULL-terminated string representing the MAC address
- Returns:
- Pointer to the formatted string
Definition at line 843 of file ethernet.c.
error_t macStringToAddr | ( | const char_t * | str, |
MacAddr * | macAddr | ||
) |
Convert a string representation of a MAC address to a binary MAC address.
- Parameters:
-
[in] str NULL-terminated string representing the MAC address [out] macAddr Binary representation of the MAC address
- Returns:
- Error code
Definition at line 754 of file ethernet.c.
Generated on Tue Jul 12 2022 17:10:19 by
