/* param handle The ENET handler pointer.This is the same state pointer used in ENET_QOS_Init. param txFrame Input parameter, pointer to enet_qos_frame_info_t for saving read out frame information. param channel Read out frame from specified channel.  */
void ENET_QOS_GetTxFrame(enet_qos_handle_t *handle, enet_qos_frame_info_t *txFrame, uint8_t channel)
/* param handle The ENET handler pointer.This is the same state pointer used in ENET_QOS_Init. param txFrame Input parameter, pointer to enet_qos_frame_info_t for saving read out frame information. param channel Read out frame from specified channel.  */
void ENET_QOS_GetTxFrame(enet_qos_handle_t *handle, enet_qos_frame_info_t *txFrame, uint8_t channel)
{
    assert(handle != NULL);
    assert(channel < handle->txQueueUse);
    enet_qos_tx_dirty_ring_t *txDirtyRing = (enet_qos_tx_dirty_ring_t *)&handle->txDirtyRing[channel];
    enet_qos_frame_info_t *txDirty        = &txDirtyRing->txDirtyBase[txDirtyRing->txConsumIdx];
    (void)memcpy(txFrame, txDirty, sizeof(enet_qos_frame_info_t));
    txDirtyRing->isFull      = false;
    txDirtyRing->txConsumIdx = ENET_QOS_IncreaseIndex(txDirtyRing->txConsumIdx, txDirtyRing->txRingLen);
}