DEENESPTFRRUARHIKOZHNL
CLASSIC Modul: eth Rolle: constitutive Konfidenz: 95%

SNIP_CLASSIC_ETH_SECTION_8_3_23_Eth_ProvideTxBuffer

Quelle: SWS_EthernetDriver.pdf (Seite 91) • Ziel-Anforderung: SWS_Eth_91009

Wortlaut

8.3.23 Eth_ProvideTxBuffer [SWS_Eth_00077] Definition of API function Eth_ProvideTxBuffer ⌈ Service Name Eth_ProvideTxBuffer Syntax BufReq_ReturnType Eth_ProvideTxBuffer ( uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType* BufIdxPtr, uint8** BufPtr, uint16* LenBytePtr ) Service ID [hex] 0x09 Sync/Async Synchronous Reentrancy Reentrant CtrlIdx Index of the controller within the context of the Driver Parameters (in) Priority Frame priority for transmit buffer queue selection Parameters (inout) LenBytePtr In: desired length in bytes, out: granted length in bytes BufIdxPtr Index to the granted buffer resource. To be used for subsequent requests Parameters (out) BufPtr Pointer to the granted buffer Return value BufReq_ReturnType BUFREQ_OK: success BUFREQ_E_NOT_OK: request not accepted. BUFREQ_E_BUSY: all buffers in use BUFREQ_E_OVFL: requested buffer too large Description Provides access to a transmit buffer of the queue related to the specified priority Available via Eth.h ⌋() [SWS_Eth_00078] ⌈The function shall provide a transmit buffer resource. The Ethernet Driver shall lock the buffer until it receives a subsequent call of Eth_Transmit service with the buffer index returned in the BufIdxPtr parameter.⌋() [SWS_Eth_00280] ⌈All locked transmit buffers shall be released if the Rx/Tx communication of the indexed controller is disabled via Eth_SetControllerMode.⌋() [SWS_Eth_00079] ⌈If a buffer requested with Eth_ProvideTxBuffer that is larger than the available buffer length, the buffer shall not be locked but return the available length and BUFREQ_E_OVFL.⌋() [SWS_Eth_00080] ⌈If all available buffers are in use the component shall return BUFREQ_E_BUSY.⌋() [SWS_Eth_00081] ⌈If development error detection is enabled: the function shall check that the service Eth_Init was previously called. If the check fails, the function shall raise the development error ETH_E_UNINIT.⌋() [SWS_Eth_00082] ⌈If development error detection is enabled: the function shall check the parameter CtrlIdx for being valid. If the check fails, the function shall raise the development error ETH_E_INV_CTRL_IDX.⌋() [SWS_Eth_00083] ⌈If development error detection is enabled: the function shall check the parameter BufIdxPtr for being valid. If the check fails, the function shall raise the development error ETH_E_PARAM_POINTER.⌋() [SWS_Eth_00084] ⌈If development error detection is enabled: the function shall check the parameter BufPtr for being valid. If the check fails, the function shall raise the development error ETH_E_PARAM_POINTER.⌋() [SWS_Eth_00085] ⌈If development error detection is enabled: the function shall check the parameter LenBytePtr for being valid. If the check fails, the function shall raise the development error ETH_E_PARAM_POINTER.⌋() [SWS_Eth_00086] ⌈Eth_Init() shall be called before Eth_ProvideTxBuffer().⌋()

Versionen & Provenienz · Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Begründung & Zuweisungs-Evidenz

Cited verbatim in the snippet (deterministic citation).

Dokumenten-Herkunft & Rückverfolgbarkeit

Spezifikations-Dokument SWS_EthernetDriver.pdf
Dokumentseite Seite 91
Ziel-Modul eth (classic)
Ziel-Anforderung SWS_Eth_91009
Semantische Rolle constitutive
Automatisierungs-Konfidenz 0.95