CLASSIC
Modul: secoc
Rolle: constitutive
Konfidenz: 95%
SNIP_CLASSIC_SECOC_SECTION_8_4_7_SecOC_CopyTxData
Wortlaut
8.4.7 SecOC_CopyTxData
[SWS_SecOC_00129]⌈
Service
Name
SecOC_CopyTxData
Syntax
BufReq_ReturnType SecOC_CopyTxData (
PduIdType id,
const PduInfoType* info,
const RetryInfoType* retry,
PduLengthType* availableDataPtr
)
Service ID
[hex]
0x43
Sync/Async
Synchronous
Reentrancy
Reentrant
Parameters
(in)
id
Identification of the transmitted I-PDU.
info
Provides the destination buffer (SduDataPtr) and the number of bytes to
be copied (SduLength). If not enough transmit data is available, no data
is copied by the upper layer module and BUFREQ_E_BUSY is returned.
The lower layer module may retry the call. An SduLength of 0 can be
used to indicate state changes in the retry parameter or to query the
current amount of available data in the upper layer module. In this case,
the SduDataPtr may be a NULL_PTR.
retry
This parameter is used to acknowledge transmitted data or to retransmit
data after transmission problems.
If the retry parameter is a NULL_PTR, it indicates that the transmit data
can be removed from the buffer immediately after it has been copied.
Otherwise, the retry parameter must point to a valid RetryInfoType
element.
If TpDataState indicates TP_CONFPENDING, the previously copied
data must remain in the TP buffer to be available for error recovery. TP_
DATACONF indicates that all data that has been copied before this call
is confirmed and can be removed from the TP buffer. Data copied by
this API call is excluded and will be confirmed later. TP_DATARETRY
indicates that this API call shall copy previously copied data in order to
recover from an error. In this case TxTpDataCnt specifies the offset in
bytes from the current data copy position.
Parameters
(inout)
None
Parameters
(out)
available
DataPtr
Indicates the remaining number of bytes that are available in the upper
layer module's Tx buffer. availableDataPtr can be used by TP modules
that support dynamic payload lengths (e.g. FrIsoTp) to determine the
size of the following CFs.
Return
value
BufReq_ReturnType
BUFREQ_OK: Data has been copied to the transmit buffer completely
as requested.
BUFREQ_E_BUSY: Request could not be fulfilled, because the required
amount of Tx data is not available. The lower layer module may retry
this call later on. No data has been copied.
BUFREQ_E_NOT_OK: Data has not been copied. Request failed.
Description
This function is called to acquire the transmit data of an I-PDU segment (N-PDU).
Each call to this function provides the next part of the I-PDU data unless retry->Tp
DataState is TP_DATARETRY. In this case the function restarts to copy the data
beginning at the offset from the current position indicated by retry->TxTpDataCnt.
The size of the remaining data is written to the position indicated by availableDataPtr.
Available
via
SecOC.h
⌋(SRS_BSW_00323, SRS_BSW_00357, SRS_SecOC_00012)
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_SecureOnboardCommunication.pdf |
|---|---|
| Dokumentseite | Seite 76 |
| Ziel-Modul | secoc (classic) |
| Ziel-Anforderung | SWS_SecOC_00129 |
| Semantische Rolle | constitutive |
| Automatisierungs-Konfidenz | 0.95 |