28#if (HAL_USE_MAC == TRUE) || defined(__DOXYGEN__)
37#define MAC_SUPPORTS_ZERO_COPY TRUE
52#if !defined(PLATFORM_MAC_USE_MAC1) || defined(__DOXYGEN__)
53#define PLATFORM_MAC_USE_MAC1 FALSE
72#define mac_lld_driver_fields
77#define mac_lld_config_fields
82#define mac_lld_transmit_descriptor_fields
87#define mac_lld_receive_descriptor_fields
93#if (PLATFORM_MAC_USE_MAC1 == TRUE) && !defined(__DOXYGEN__)
116#if MAC_USE_ZERO_COPY == TRUE
size_t mac_lld_read_receive_descriptor(MACReceiveDescriptor *rdp, uint8_t *buf, size_t size)
Reads from a receive descriptor's stream.
const uint8_t * mac_lld_get_next_receive_buffer(MACReceiveDescriptor *rdp, size_t *sizep)
Returns a pointer to the next receive buffer in the descriptor chain.
void mac_lld_release_transmit_descriptor(MACTransmitDescriptor *tdp)
Releases a transmit descriptor and starts the transmission of the enqueued data as a single frame.
struct hal_mac_driver MACDriver
Type of a structure representing a MAC driver.
msg_t mac_lld_get_transmit_descriptor(MACDriver *macp, MACTransmitDescriptor *tdp)
Returns a transmission descriptor.
void mac_lld_init(void)
Low level MAC initialization.
struct hal_mac_receive_descriptor MACReceiveDescriptor
Type of structure representing a MAC receive descriptor.
struct hal_mac_transmit_descriptor MACTransmitDescriptor
Type of structure representing a MAC transmit descriptor.
uint8_t * mac_lld_get_next_transmit_buffer(MACTransmitDescriptor *tdp, size_t size, size_t *sizep)
Returns a pointer to the next transmit buffer in the descriptor chain.
void mac_lld_stop(MACDriver *macp)
Deactivates the MAC peripheral.
void mac_lld_release_receive_descriptor(MACReceiveDescriptor *rdp)
Releases a receive descriptor.
MACDriver ETHD1
MAC1 driver identifier.
msg_t mac_lld_get_receive_descriptor(MACDriver *macp, MACReceiveDescriptor *rdp)
Returns a receive descriptor.
void mac_lld_start(MACDriver *macp)
Configures and activates the MAC peripheral.
bool mac_lld_poll_link_status(MACDriver *macp)
Updates and returns the link status.
size_t mac_lld_write_transmit_descriptor(MACTransmitDescriptor *tdp, uint8_t *buf, size_t size)
Writes to a transmit descriptor's stream.
int32_t msg_t
Type of a message.