?? ixethacc.h
字號:
* * @sa ixEthAccPortTxFrameAppendFCSDusable * * @param portId @ref IxEthAccPortId [in] * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccPortTxFrameAppendPaddingEnable(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn ixEthAccPortTxFrameAppendPaddingDisable( IxEthAccPortId portId) * * @brief Disable padding bytes to be appended to runt frames submitted to * this port * * Disable padding bytes to be appended to runt frames * submitted to this port. This is not the default behavior of the access * component. * * @warning Do not change this behaviour while the port is enabled. * * @li Reentrant - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccPortTxFrameAppendPaddingDisable(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn ixEthAccPortTxFrameAppendFCSEnable( IxEthAccPortId portId) * * @brief Enable the appending of Ethernet FCS to all frames submitted to this port * * When enabled, the FCS is added to the submitted frames. This is the default * behavior of the access component. * Do not change this behaviour while the port is enabled. * * @li Reentrant - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccPortTxFrameAppendFCSEnable(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn ixEthAccPortTxFrameAppendFCSDisable( IxEthAccPortId portId) * * @brief Disable the appending of Ethernet FCS to all frames submitted to this port. * * When disabled, the Ethernet FCS is not added to the submitted frames. * This is not the default * behavior of the access component. * * @note Since the FCS is not appended to the frame it is expected that the frame submitted to the * component includes a valid FCS at the end of the data, although this will not be validated. * * The component shall forward the frame to the Ethernet MAC WITHOUT modification. * * Do not change this behaviour while the port is enabled. * * @note Tx FCS append is not disabled while Tx padding is enabled. * * @li Reentrant - yes * @li ISR Callable - no * * @sa ixEthAccPortTxFrameAppendPaddingEnable * * @param portId @ref IxEthAccPortId [in] * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccPortTxFrameAppendFCSDisable(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn ixEthAccPortRxFrameAppendFCSEnable( IxEthAccPortId portId) * * @brief Forward frames with FCS included in the receive buffer. * * The FCS is not striped from the receive buffer. * The received frame length includes the FCS size (4 bytes). ie. * A minimum sized ethernet frame shall have a length of 64bytes. * * Frame FCS validity checks are still carried out on all received frames. * * This is not the default * behavior of the access component. * * @li Reentrant - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccPortRxFrameAppendFCSEnable(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn ixEthAccPortRxFrameAppendFCSDisable( IxEthAccPortId portId) * * @brief Do not forward the FCS portion of the received Ethernet frame to the user. * The FCS is striped from the receive buffer. * The received frame length does not include the FCS size (4 bytes). * Frame FCS validity checks are still carried out on all received frames. * * This is the default behavior of the component. * Do not change this behaviour while the port is enabled. * * @li Reentrant - yes * @li ISR Callable - no * * @param portId @ref IxEthAccPortId [in] * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccPortRxFrameAppendFCSDisable(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @enum IxEthAccSchedulerDiscipline * * @brief Definition for the port scheduling discipline * * Select the port scheduling discipline on receive and transmit path * @li FIFO : No Priority : In this configuration all frames are processed * in the access component in the strict order in which * the component received them. * @li FIFO : Priority : This shall be a very simple priority mechanism. * Higher prior-ity frames shall be forwarded * before lower priority frames. There shall be no * fairness mechanisms applied across different * priorities. Higher priority frames could starve * lower priority frames indefinitely. */typedef enum { FIFO_NO_PRIORITY, /**<frames submitted with no priority*/ FIFO_PRIORITY /**<higher prority frames submitted before lower priority*/}IxEthAccSchedulerDiscipline;/** * @ingroup IxEthAcc * * @def IxEthAccTxSchedulerDiscipline * * @brief Deprecated definition for the port transmit scheduling discipline */ #define IxEthAccTxSchedulerDiscipline IxEthAccSchedulerDiscipline/** * @ingroup IxEthAcc * * @fn ixEthAccTxSchedulingDisciplineSet( IxEthAccPortId portId, IxEthAccSchedulerDiscipline sched) * * @brief Set the port scheduling to one of @a IxEthAccSchedulerDiscipline * * The default behavior of the component is @a FIFO_NO_PRIORITY. * * @li Reentrant - yes * @li ISR Callable - no * * @pre * * * @param portId @ref IxEthAccPortId [in] * @param sched @ref IxEthAccSchedulerDiscipline [in] * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS : Set appropriate discipline. * @li @a IX_ETH_ACC_FAIL : Invalid/unsupported discipline. * @li @a IX_ETH_ACC_INVALID_PORT : portId is invalid. * @li @a IX_ETH_ACC_PORT_UNINITIALIZED : portId is un-initialized * * <hr> */PUBLIC IxEthAccStatusixEthAccTxSchedulingDisciplineSet(IxEthAccPortId portId, IxEthAccSchedulerDiscipline sched);/** * @ingroup IxEthAcc * * @fn ixEthAccRxSchedulingDisciplineSet(IxEthAccSchedulerDiscipline sched) * * @brief Set the Rx scheduling to one of @a IxEthAccSchedulerDiscipline * * The default behavior of the component is @a FIFO_NO_PRIORITY. * * @li Reentrant - yes * @li ISR Callable - no * * @pre * * @param sched : @a IxEthAccSchedulerDiscipline * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS : Set appropriate discipline. * @li @a IX_ETH_ACC_FAIL : Invalid/unsupported discipline. * * <hr> */PUBLIC IxEthAccStatusixEthAccRxSchedulingDisciplineSet(IxEthAccSchedulerDiscipline sched);/** * @ingroup IxEthAcc * * @fn IxEthAccStatus ixEthAccNpeLoopbackEnable(IxEthAccPortId portId) * * @brief Enable NPE loopback * * When this loopback mode is enabled all the transmitted frames are * received on the same port, without payload. * * This function is recommended for power-up diagnostic checks and * should never be used under normal Ethernet traffic operations. * * @li Reentrant - yes * @li ISR Callable - no * * @pre * * @param portId : ID of the port * * @note Calling ixEthAccPortDisable followed by ixEthAccPortEnable is * guaranteed to restore correct Ethernet Tx/Rx operation. * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS : NPE loopback mode enabled * @li @a IX_ETH_ACC_FAIL : Invalid port or Ethernet service not initialized * * <hr> */PUBLIC IxEthAccStatus ixEthAccPortNpeLoopbackEnable(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn IxEthAccStatus ixEthAccPortNpeLoopbackDisable(IxEthAccPortId portId) * * @brief Disable NPE loopback * * This function is used to disable the NPE loopback if previously * enabled using ixEthAccNpeLoopbackEnable. * * This function is recommended for power-up diagnostic checks and * should never be used under normal Ethernet traffic operations. * * @li Reentrant - yes * @li ISR Callable - no * * @pre * * @note Calling ixEthAccPortDisable followed by ixEthAccPortEnable is * guaranteed to restore correct Ethernet Tx/Rx operation. * * @param portId : ID of the port * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS : NPE loopback successfully disabled * @li @a IX_ETH_ACC_FAIL : Invalid port or Ethernet service not initialized * * <hr> */PUBLIC IxEthAccStatus ixEthAccPortNpeLoopbackDisable(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn IxEthAccStatus ixEthAccPortTxEnable(IxEthAccPortId portId) * * @brief Enable Tx on the port * * This function is the complement of ixEthAccPortTxDisable and should * be used only after Tx was disabled. A MAC core reset is required before * this function is called (see @a ixEthAccPortMacReset). * * This function is the recommended usage scenario for emergency security * shutdown and hardware failure recovery and should never be used for throttling * traffic. * * @li Reentrant - yes * @li ISR Callable - no * * @pre * * @note Calling ixEthAccPortDisable followed by ixEthAccPortEnable is * guaranteed to restore correct Ethernet Tx/Rx operation. * * @param portId : ID of the port * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS : Tx successfully enabled * @li @a IX_ETH_ACC_FAIL : Invalid port or Ethernet service not initialized * * <hr> */PUBLIC IxEthAccStatus ixEthAccPortTxEnable(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn IxEthAccStatus ixEthAccPortTxDisable(IxEthAccPortId portId) * * @brief Disable Tx on the port * * This function can be used to disable Tx in the MAC core. * Tx can be re-enabled, although this is not guaranteed, by performing * a MAC core reset (@a ixEthAccPortMacReset) and calling ixEthAccPortTxEnable. * Note that using this function is not recommended, except for shutting * down Tx for emergency reasons. For proper port shutdown and re-enabling * see ixEthAccPortEnable and ixEthAccPortDisable. * * This function is the recommended usage scenario for emergency security * shutdown and hardware failure recovery and should never be used for throttling * traffic. * * @li Reentrant - yes * @li ISR Callable - no * * @note Calling ixEthAccPortDisable followed by ixEthAccPortEnable is * guaranteed to restore correct Ethernet Tx/Rx operation. * * @pre * * @param portId : ID of the port * * @return IxEthAccStatus * @li @a IX_ETH_ACC_SUCCESS : Tx successfully disabled * @li @a IX_ETH_ACC_FAIL : Invalid port or Ethernet service not initialized * * <hr> */PUBLIC IxEthAccStatus ixEthAccPortTxDisable(IxEthAccPortId portId);/** * @ingroup IxEthAcc * * @fn IxEthAccStatus ixEthAccPortRxEnable(IxEthAccPortId portId) * * @brief Enable Rx on the port * * This function is the complement of ixEthAccPortRxDisable and should * be used only after
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -