#define IEEE_802_3_MAC_INTERFACE "ieee_802_3_mac" typedef struct { int (*receive_frame)(conf_object_t *obj, int phy, dbuffer_t *buf, int crc_ok); void (*tx_bandwidth_available)(conf_object_t *obj, int phy); void (*link_status_changed)(conf_object_t *obj, int phy, ieee_802_3_link_status_t status); } ieee_802_3_mac_interface_t;
Interface that should be implemented by 802.3 media access control layers.
The receive_frame function is called when a frame has been received by the phy. The frame is passed as a dbuffer_t that may not be modified without cloning it first. The return value have no meaning, callers should ignore it, and new implementations should return 0.
The tx_bandwith_available is called by the PHY when a previous call to send_frame or check_tx_bandwidth in the ieee_802_3_phy have returned no bandwidth available.
link_status_changed is called when the phy detects a change of the link status.
The phy parameter is a number that identifies this particular PHY, in configurations with several PHYs connected to the same MAC.