mac/internal.h¶
Definitions of internal functions of GNRC_MAC module.
-
bool
gnrc_netif_get_rx_started(gnrc_netif_t * netif)¶ get the ‘rx_started’ state of the device
This function checks whether the device has started receiving a packet.
Parameters
netif: the network interface Return values
- the rx_started state
-
void
gnrc_netif_set_rx_started(gnrc_netif_t * netif, bool rx_started)¶ set the rx_started state of the device
This function is intended to be called only in
netdev.h::netdev::event_callback.Parameters
netif: the network interface rx_started: the rx_started state
-
sys/include/net/gnrc/mac/types.h::gnrc_mac_tx_feedback_tgnrc_netif_get_tx_feedback(gnrc_netif_t * netif)¶ get the transmission feedback of the device
Parameters
netif: the network interface Return values
- the transmission feedback
-
void
gnrc_netif_set_tx_feedback(gnrc_netif_t * netif,sys/include/net/gnrc/mac/types.h::gnrc_mac_tx_feedback_ttxf)¶ set the transmission feedback of the device
This function is intended to be called only in
netdev.h::netdev::event_callback.Parameters
netif: the network interface txf: the transmission feedback
-
bool
gnrc_mac_queue_tx_packet(gnrc_mac_tx_t * tx, uint32_t priority,include/net/gnrc/pkt.h::gnrc_pktsnip_t* pkt)¶ Queues the packet into the related transmission packet queue in netdev_t::tx.
Note that, in case the
gnrc_mac_tx_neighbor_tstructure is in used (indicated byGNRC_MAC_NEIGHBOR_COUNT != 0), this function queues the packet to the queue associated to the pkt’s destination neighbor, including abroadcast-neighbor(neighbor id is0in netdev_t::tx::neighbors) which specifically stores broadcasting packets. On the other hand, ifgnrc_mac_tx_neighbor_tstructure is not in used (indicated byGNRC_MAC_NEIGHBOR_COUNT == 0), this function queues the packet into the single priority TX queue defined in in netdev_t::tx.Parameters
tx: gnrc_mac transmission management object priority: the priority of pktpkt: gnrc packet that will be queued Return values
- true if queued successfully, otherwise false.
-
bool
gnrc_mac_queue_rx_packet(gnrc_mac_rx_t * rx, uint32_t priority,include/net/gnrc/pkt.h::gnrc_pktsnip_t* pkt)¶ Queues the packet into the reception packet queue in netdev_t::rx.
Parameters
rx: gnrc_mac reception management object priority: the priority of pktpkt: gnrc packet that will be queued Return values
- true if queued successfully, otherwise false.
-
void
gnrc_mac_dispatch(gnrc_mac_rx_t * rx)¶ Dispatch all the packets stored in netdev_t::rx:dispatch_buffer to upper layer.
Parameters
rx: gnrc_mac reception management object