E2E Transformer (E2EXf)
AUTOSAR Classic Communication Services-Modul E2E Transformer (E2EXf, Spezifikation: AUTOSAR_CP_SWS_E2ETransformer.pdf, AUTOSAR_SWS_E2ETransformer.pdf).
Funktionen — Übersicht
uint8 E2EXf_<transformerId> ([Std_TransformerForwardCode forwardedCode], [Std_ExtractProtocolHeaderFieldsType extractProtocolHeaderFields], [const E2EXf_CSTransactionHandleType* csTransactionHandle], uint8* buffer, uint32* bufferLength, [const uint8* inputBuffer], uint32 inputBufferLength);Protects the array/buffer to be transmitted, using the in-place transformation.uint8 E2EXf_Inv_<transformerId> ([Std_ExtractProtocolHeaderFieldsType extractProtocolHeaderFields], [E2EXf_CSTransactionHandleType* csTransactionHandle], uint8* buffer, uint32* bufferLength, [const uint8* inputBuffer], uint32 inputBufferLength);Checks the received data.void E2EXf_Init (const E2EXf_ConfigType* config);Initializes the state of the E2E Transformer.void E2EXf_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.void E2EXf_DeInit (void);Deinitializes the E2E transformer.
Typen — Übersicht
struct E2EXf_CSTransactionHandleTypeTransaction handle for the C/S method call.struct E2EXf_ConfigTypeParent container for the configuration of E2E Transformer.
Anforderungen — Übersicht
SWS_E2EXf_00009The runtime errors detected by E2EXf_Inv_ function and errors in the protected E2E communication shall be reported as return...SWS_E2EXf_00011The E2E Transformer shall generate the following data struc- ture, to store the configuration of E2E Transformer module:...SWS_E2EXf_00018{DRAFT} In case E2E_PXXProtect() or E2E_PXXForward() returns E2E_E_OK, then E2EXf_ shall return E_OK, otherwise E2EXf_ shall...SWS_E2EXf_00020The function E2EXf_ shall be generated for each sent E2E-protected data element and each protected C/S operation ().SWS_E2EXf_00021The E2EXf_Init() function shall initialize the following external state data resources managed by E2E transformer (see...SWS_E2EXf_00023In all E2E Transformer variants, the generated state objects may be left uninitialized (i.SWS_E2EXf_00024In post-build-selectable variant, E2EXf_Init() shall check that Config pointer (received as function parameter) points to one...SWS_E2EXf_00025The function E2EXf_Inv_ shall be generated for each received E2E-protected data element and each protected C/S operation ().SWS_E2EXf_00027If E2E_SMCheck() returns E2E_E_OK and disableEndToEnd StateMachine is FALSE, then: • the high nibble of the return of the...SWS_E2EXf_00028The function E2EXf_Inv_ shall invoke the E2E_SMCheck() function, passing to that function the configuration object of type...SWS_E2EXf_00029The function E2EXf_Inv_ shall invoke E2E_ PXXMapStatusToSM(), passing to that function the return value of E2E_PXXCheck and...SWS_E2EXf_00037E2E_P01Check E2E.SWS_E2EXf_00047Module Header File Imported Type E2E.SWS_E2EXf_00048The generated configuration object of type E2E_P01Config Type shall be initialized according to the following: • DataID =...SWS_E2EXf_00087The generated configuration object of type E2E_P04Config Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00088The generated config structure of type E2E_SMConfig Type,shall be initialized according to the following (one-to-one mapping):...SWS_E2EXf_00089In case of link-time configuration, there is just one variant, this means: = emtpy (NULL string).SWS_E2EXf_00090In case of post-build-selectable configuration, the variants shall be named according to the configuration attribute...SWS_E2EXf_00096The configuration object E2EXf_ConfigStruct_ (see SWS_ E2EXf_00011) shall be initialized to contain or to reference the config...SWS_E2EXf_00102In-place E2EXf_ shall perform the following two precondition checks, without continuing further processing: 1.SWS_E2EXf_00103Out-of-place E2EXf_Inv_ shall perform the fol- lowing three precondition checks, without continuing further processing: 1.SWS_E2EXf_00104For PXX = 04, 05, 06, 07, 11, 22: the function E2EXf_ Inv_ shall invoke E2E_PXXCheck(), passing to that function: • config, •...SWS_E2EXf_00105In-place E2EXf_Inv_ shall perform the follow- ing two precondition checks, without continuing further processing: 1.SWS_E2EXf_00106Out-of-place E2EXf_ shall perform the follow- ing three precondition checks, without continuing further processing: 1.SWS_E2EXf_00107{DRAFT} If DataTransformationStatusForwarding is set to no TransformerStatusForwarding and PXX is P01 ,P02 ,P04 ,P05 ,P06 ,P07...SWS_E2EXf_00108If (EndToEndTransformationDescription.SWS_E2EXf_00109If (EndToEndTransformationDescription.SWS_E2EXf_00111E2EXf_ shall set *bufferLength = inputBuffer Length + BufferProperties.SWS_E2EXf_00112If (buffer != NULL &&EndToEndTransformationDescrip- tion.SWS_E2EXf_00113If (inputBuffer != NULL &&EndToEndTransformationDescrip- tion.SWS_E2EXf_00114If inputBufferLength == 0, then E2EXf_Inv_ shall set *bufferLength = 0, otherwise it shall set *bufferLength =...SWS_E2EXf_00115If (EndToEndTransformationDescription.SWS_E2EXf_00116If (inputBuffer != NULL &&EndToEndTransformationDescrip- tion.SWS_E2EXf_00118The generated configuration object of type E2E_P02Config Type shall be initialized according to the following: • DataIDList=...SWS_E2EXf_00119The generated configuration object of type E2E_P05Config Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00120The generated configuration object of type E2E_P06Config Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00122The runtime errors detected by the E2EXf_ function shall be reported as return value to the caller (i.SWS_E2EXf_00123For PXX = 01 or 02 (i.SWS_E2EXf_00124For PXX = 01 or 02 (i.SWS_E2EXf_00125The E2E Transformer shall derive the required number of in- dependent state data resources of types E2E_PXXProtectStateType,...SWS_E2EXf_00126The E2E Transformer shall derive the required number of inde- pendent statically initialized configuration objects of types...SWS_E2EXf_00130The E2E Transformer shall maintain a boolean information (Ini- tialization state) that is only set to TRUE, if the module has...SWS_E2EXf_00132In case of deinitialization (invocation of E2EXf_DeInit()), the module initialization state shall be set to FALSE.SWS_E2EXf_00133If the E2E Transformer has not been correctly initialized (which means that E2EXf_Init() was not successfully called before),...SWS_E2EXf_00134The configuration options in EndToEndTransformationCom SpecProps shall have precedence over the options in...SWS_E2EXf_00137Type of error Related error code Error value Error code if any other API service, except Get VersionInfo is called before the...SWS_E2EXf_00139For PXX = 01 or 02, the function E2EXf_() shall perform a check of the *bufferLength (after the computation of *bufferLength):...SWS_E2EXf_00140For PXX = 01 or 02 (i.SWS_E2EXf_00141For PXX = 01 or 02 (i.SWS_E2EXf_00142If configuration parameter profileBehavior is PRE_R4_2, then for PXX = 01 or 02, E2EXf_Inv_ () shall set the variable MaxDelta...SWS_E2EXf_00144If the XfrmDevErrorDetect switch is enabled and the configu- ration variant is VARIANT-POST-BUILD, the function E2EXf_Init...SWS_E2EXf_00145If the XfrmDevErrorDetect switch is enabled and the configura- tion variant is VARIANT-POST-BUILD, the function E2EXf_Init...SWS_E2EXf_00146If the configuration parameter XfrmDevErrorDetect is enabled, the function E2EXf_DeInit shall check if the E2E transformer is...SWS_E2EXf_00148E2EXf_DeInit() shall set the module initialization state to FALSE.SWS_E2EXf_00149If the XfrmDevErrorDetect switch is enabled, the function E2EXf_GetVersionInfo shall check if a NULL pointer is passed for the...SWS_E2EXf_00150If the configuration parameter XfrmDevErrorDetect is enabled, all parameters of API E2EXf_ (see SWS_E2EXf_00032) shall be...SWS_E2EXf_00151If the configuration parameter XfrmDevErrorDetect is enabled, the API E2EXf_ (see SWS_E2EXf_00032) shall check if the E2E...SWS_E2EXf_00152If the configuration parameter XfrmDevErrorDetect is enabled, all parameters of API E2EXf_Inv_ (see SWS_E2EXf_00034) shall be...SWS_E2EXf_00153If the configuration parameter XfrmDevErrorDetect is enabled, the API E2EXf_Inv_ (see SWS_E2EXf_00034) shall check if the E2E...SWS_E2EXf_00154If configuration option EndToEndTransformationComSpec Props.SWS_E2EXf_00155{DRAFT} If (((PXX = 01 &&dataIDMode != nibble) || (PXX == 02) || (PXX = 11 &&dataIDMode != nibble) || (PXX ==...SWS_E2EXf_00156The apiServicePrefix of the E2E Transformer's EcuC shall be set to E2EXf.SWS_E2EXf_00158The E2EXf_Init() function shall initialize the internal state data resources of E2E functions forward, protect check and state...SWS_E2EXf_00159In case of post-build configuration, E2EXf_Init() function shall initialize the E2E transformer for a driving cycle.SWS_E2EXf_00161The E2E transformer defined in this document shall be used as a transformer if 1.SWS_E2EXf_00162The generated configuration object of type E2E_P11Config Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00163The generated configuration object of type E2E_P07Config Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00164The generated configuration object of type E2E_P22Config Type shall be initialized according to the following: • DataIDList =...SWS_E2EXf_00165If E2E-Transformer is used for a response in a Client-Server Communication and Profile is P02 or P22 the sequence counter used...SWS_E2EXf_00166If E2E-Transformer is used in a Client-Server Communication and Profile is P01, P04, P04m, P05, P06, P07, P07m, P08, P08m,...SWS_E2EXf_00167In case of Client/Server-Communication on the server side, if the return value ret equals to E_SAFETY_*_ERR, the value shall...SWS_E2EXf_00168{DRAFT} If DataTransformationStatusForwarding is set to transformerStatusForwarding and PXX is P01, P02, P04, P05, P06, P07,...SWS_E2EXf_00169If disableEndToEndStateMachine is to TRUE, • The high nibble of the return of the function E2EXf_Inv_ shall be set to 0x6.SWS_E2EXf_00170If E2EXf_ is used in a Client-Server Commu- nication on the client-side and Profile is P02 or P22, state->Counter shall be...SWS_E2EXf_00171If E2EXf_ is used in a Client-Server Commu- nication on the client-side and Profile is P01, P04, P05, P06, P07, P08, P11, P44,...SWS_E2EXf_00172In case of Client/Server Communication on the client side and Profile is P01 or P02, state->LastValidCounter of E2EXf_Inv_...SWS_E2EXf_00173In case of Client/Server Communication on the client side and Profile is P04, P05, P06, P07, P08, P11, P22 or P44, P04m, P07m,...SWS_E2EXf_00175In case of Client/Server Communication on the client side, if the E2E_PXXCheck function returns a value different from...SWS_E2EXf_00176The generated configuration object of type E2E_P44Config Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00177The generated configuration object of type E2E_P08Config Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00178The generated configuration object of type E2E_P04mConfig Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00179The generated configuration object of type E2E_P07mConfig Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00180For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_ shall perform the following additional...SWS_E2EXf_00181For profiles P04m, P07m, P08m and P44m the in-place E2EXf_ on the client-side shall call the extractProtocolHeaderFields()...SWS_E2EXf_00182For profiles P04m, P07m, P08m and P44m the out-of-place E2EXf_ on the client-side shall call the extractProtocolHeaderFields()...SWS_E2EXf_00183If extractProtocolHeaderFields() returns something different from E_OK, E2EXf_ shall return E_SAFETY_HARD_RUNTIMEER- ROR.SWS_E2EXf_00184For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_ on the client-side shall set a local...SWS_E2EXf_00185For profiles P04m, P07m, P08m and P44m the in-place E2EXf_ on the server-side shall call the extractProtocolHeaderFields()...SWS_E2EXf_00186For profiles P04m, P07m, P08m and P44m the out-of-place E2EXf_ on the server-side shall call the extractProtocolHeaderFields()...SWS_E2EXf_00187If extractProtocolHeaderFields() returns something different from E_OK, E2EXf_ shall return E_SAFETY_HARD_RUNTIMEER- ROR.SWS_E2EXf_00188For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_ on the server-side shall set a local...SWS_E2EXf_00189For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_ on the server-side shall set a local...SWS_E2EXf_00190If DataTransformationStatusForwarding is set to noTrans- formerStatusForwarding and PXX = P04m, P07m, P08m or P44m the...SWS_E2EXf_00191If DataTransformationStatusForwarding is set to transformer StatusForwarding and PXX = P04m, P07m, P08m or P44m: The function...SWS_E2EXf_00192For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_Inv_ shall perform the following...SWS_E2EXf_00193For profiles P04m, P07m, P08m and P44m the in-place E2EXf_Inv_ on the client-side shall call the extractProtocolHeader...SWS_E2EXf_00194For profiles P04m, P07m, P08m and P44m the out-of-place E2EXf_Inv_ on the client-side shall call the extractProtocolHeader...SWS_E2EXf_00196For profiles P04m, P07m, P08m and P44m both the in- place and the out-of-place E2EXf_Inv_ on the client-side shall set a local...SWS_E2EXf_00197For profiles P04m, P07m, P08m and P44m the in-place E2EXf_Inv_ on the server-side shall call the extractProtocolHeader...SWS_E2EXf_00198For profiles P04m, P07m, P08m and P44m the out-of-place E2EXf_Inv_ on the server-side shall call the extractProtocolHeader...SWS_E2EXf_00199If extractProtocolHeaderFields() returns something differ- ent from E_OK, E2EXf_Inv_ shall return E_SAFETY_HARD_RUN- TIMEERROR.SWS_E2EXf_00200For PXX = P04m, P07m, P08m and P44m: the function E2EXf_ Inv_ on the client-side shall invoke E2E_PXXSourceCheck(), passing to...SWS_E2EXf_00201For PXX = P04m, P07m, P08m and P44m: the function E2EXf_ Inv_ on the server-side shall invoke E2E_PXXSinkCheck(), passing to...SWS_E2EXf_00202For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_Inv_ on the server-side shall set the e2e...SWS_E2EXf_00203For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_Inv_ on the server-side shall set the e2e...SWS_E2EXf_00204The generated configuration object of type E2E_P08mConfig Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00205The generated configuration object of type E2E_P44mConfig Type shall be initialized according to the following (one-to-one...SWS_E2EXf_00206In case of Client/Server Communication on the client side and Profile is P01 or P02, the receivedRequestCounter shall be set...SWS_E2EXf_00207In case of Client/Server Communication on the client side and Profile is P04, P05, P06, P07, P08, P11, P22, P44, P04m, P07m,...SWS_E2EXf_00208The function E2EXf_MapCodeToStatus shall return the values depending on the value of forwardedCode:SWS_E2EXf_NA_00001These requirements are not applicable to this specifica- tion.
Funktionen & Typen — Detailansicht
fonction E2EXf_<transformerId> [SWS_E2EXf_00032] 📄 PDF
uint8 E2EXf_<transformerId>([Std_TransformerForwardCode forwardedCode], [Std_ExtractProtocolHeaderFieldsType extractProtocolHeaderFields], [const E2EXf_CSTransactionHandleType* csTransactionHandle], uint8* buffer, uint32* bufferLength, [const uint8* inputBuffer], uint32 inputBufferLength);
Protects the array/buffer to be transmitted, using the in-place transformation.
fonction E2EXf_Inv_<transformerId> [SWS_E2EXf_00034] 📄 PDF
uint8 E2EXf_Inv_<transformerId>([Std_ExtractProtocolHeaderFieldsType extractProtocolHeaderFields], [E2EXf_CSTransactionHandleType* csTransactionHandle], uint8* buffer, uint32* bufferLength, [const uint8* inputBuffer], uint32 inputBufferLength);
Checks the received data. If the data can be used by the caller, then the function returns E_OK.
fonction E2EXf_Init [SWS_E2EXf_00035] 📄 PDF
void E2EXf_Init(const E2EXf_ConfigType* config);
Initializes the state of the E2E Transformer. The main part of it is the initialization of the E2E library state structures, which is done by calling all init-functions from E2E library.
fonction E2EXf_GetVersionInfo [SWS_E2EXf_00036] 📄 PDF
void E2EXf_GetVersionInfo(Std_VersionInfoType* versioninfo);
Returns the version information of this module.
fonction E2EXf_DeInit [SWS_E2EXf_00138] 📄 PDF
void E2EXf_DeInit(void);
Deinitializes the E2E transformer.
type E2EXf_CSTransactionHandleType [SWS_E2EXf_00026] 📄 PDF
Transaction handle for the C/S method call. - Used to tunnel the E2E Source ID and the E2E Counter from the request to the response at the server side via the RTE.
type E2EXf_ConfigType [SWS_E2EXf_00030] 📄 PDF
Parent container for the configuration of E2E Transformer. The content is implementation-specific.
requirement SWS_E2EXf_00009 [SWS_E2EXf_00009] 📄 PDF
The runtime errors detected by E2EXf_Inv_<transformerId> function and errors in the protected E2E communication shall be reported as return value to the caller (i.e. to RTE).
requirement SWS_E2EXf_00011 [SWS_E2EXf_00011] 📄 PDF
The E2E Transformer shall generate the following data struc- ture, to store the configuration of E2E Transformer module: E2EXf_ConfigStruct_<v>(of type E2EXf_ConfigType)
requirement SWS_E2EXf_00018 [SWS_E2EXf_00018] 📄 PDF
{DRAFT} In case E2E_PXXProtect() or E2E_PXXForward() returns E2E_E_OK, then E2EXf_<transformerId> shall return E_OK, otherwise E2EXf_<transformerId> shall return E_SAFETY_HARD_RUNTIMEERROR.
requirement SWS_E2EXf_00020 [SWS_E2EXf_00020] 📄 PDF
The function E2EXf_<transformerId> shall be generated for each sent E2E-protected data element and each protected C/S operation (<trans- formerId>).
requirement SWS_E2EXf_00021 [SWS_E2EXf_00021] 📄 PDF
The E2EXf_Init() function shall initialize the following external state data resources managed by E2E transformer (see SWS_E2EXf_00125) as fol- lows: • Initialization of state data resources of type E2E_PXXProtectStateType by calling corresponding E2E_PXXProtectInit() methods, • Initialization of state data resources of type E2E_PXXCheckStateType by calling corresponding E2E_PXXCheckInit() methods, • Initialization of state data resources of type E2E_SMCheckStateType by calling corresponding E2E_SMCheckInit() methods.
requirement SWS_E2EXf_00023 [SWS_E2EXf_00023] 📄 PDF
In all E2E Transformer variants, the generated state objects may be left uninitialized (i.e. without providing explicit initialization values).
requirement SWS_E2EXf_00024 [SWS_E2EXf_00024] 📄 PDF
In post-build-selectable variant, E2EXf_Init() shall check that Config pointer (received as function parameter) points to one of the configuration vari- ants E2EXf_ConfigStruct_<v>.If this is the case, then E2EXf_Init() shall select the passed configuration variant, and it shall set the module initialization state to TRUE according to SWS_E2EXf_00130.
requirement SWS_E2EXf_00025 [SWS_E2EXf_00025] 📄 PDF
The function E2EXf_Inv_<transformerId> shall be generated for each received E2E-protected data element and each protected C/S operation (<transformerId>).
requirement SWS_E2EXf_00027 [SWS_E2EXf_00027] 📄 PDF
If E2E_SMCheck() returns E2E_E_OK and disableEndToEnd StateMachine is FALSE, then: • the high nibble of the return of the function E2EXf_Inv_<transformerId>shall be set to the low nibble of the state of the state machine (member SMState of object of type E2E_SMStateType that is associated with <transformerId>, see [SWS_ E2EXf_00125]). • The low nibble of the return of the function E2EXf_Inv_<transformerId> shall be set to the low nibble of the profile-independent check status of type E2E_PCheck StatusType. If E2E_SMCheck() does not return E2E_E_OK, the return value shall be E_SAFETY_ SOFT_RUNTIMEERROR.
requirement SWS_E2EXf_00028 [SWS_E2EXf_00028] 📄 PDF
The function E2EXf_Inv_<transformerId> shall invoke the E2E_SMCheck() function, passing to that function the configuration object of type E2E_SMConfigType (see [SWS_E2EXf_00126] and [SWS_E2EXf_00088])and state object of type E2E_SMCheckStateType (see [SWS_E2EXf_00125]) that are associ- ated with <transformerId>, plus the profile-independent check status that was com- puted by E2E_PXXMapStatusToSM() in SWS_E2EXf_00029.
requirement SWS_E2EXf_00029 [SWS_E2EXf_00029] 📄 PDF
The function E2EXf_Inv_<transformerId> shall invoke E2E_ PXXMapStatusToSM(), passing to that function the return value of E2E_PXXCheck and the profile's check Status (variable Status of state object of type E2E_PXXCheck StateType, see [SWS_E2EXf_00125]), to obtain the profile-independent check status. For P1/P2 mapping functions, there is an additional call parameter profileBehavior: • if configuration parameter profileBehavior is R4_2, then E2E_PXXMapStatusTo SM() shall be invoked with the call parameter profileBehavior = 1 • if configuration parameter profileBehavior is PRE_R4_2, then E2E_PXXMapSta- tusToSM() shall be invoked with call parameter profileBehavior = 0
requirement SWS_E2EXf_00037 [SWS_E2EXf_00037] 📄 PDF
E2E_P01Check E2E.h Checks the Data received using the E2E profile 1. This includes CRC calculation, handling of Counter and Data ID. E2E_P01CheckInit E2E.h Initializes the check state E2E_P01Forward (draft) E2E.h Protects data which is forwarded by using the E2E profile 01. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P01MapStatusToSM E2E.h The function maps the check status of Profile 1 to a generic check status, which can be used by E2E state machine check function. The E2E Profile 1 delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P01Protect E2E.h Protects the array/buffer to be transmitted using the E2E profile 1. This includes checksum calculation, handling of counter and Data ID. E2E_P01ProtectInit E2E.h Initializes the protection state. E2E_P02Check E2E.h Check the array/buffer using the E2E profile 2. This includes checksum calculation, handling of sequence counter and Data ID. E2E_P02CheckInit E2E.h Initializes the check state E2E_P02Forward (draft) E2E.h Protects data which is forwarded by using the E2E profile 02. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P02MapStatusToSM E2E.h The function maps the check status of Profile 2 to a generic check status, which can be used by E2E state machine check function. The E2E Profile 2 delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P02Protect E2E.h Protects the array/buffer to be transmitted using the E2E profile 2. This includes checksum calculation, handling of sequence counter and Data ID. E2E_P02ProtectInit E2E.h Initializes the protection state. E2E_P04Check E2E.h Checks the Data received using the E2E profile 4. This includes CRC calculation, handling of Counter and Data ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. E2E_P04CheckInit E2E.h Initializes the check state E2E_P04Forward (draft) E2E.h Protects data which is forwarded by using the E2E profile 04. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P04MapStatusToSM E2E.h The function maps the check status of Profile 4 to a generic check status, which can be used by E2E state machine check function. The E2E Profile 4 delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P04mCheckInit E2E.h Initializes the check state API Function Header File Description E2E_P04mForward (draft) E2E.h Protects data which is forwarded by using the E2E profile 4m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P04mMapStatusToSM E2E.h The function maps the check status of Profile 4m to a generic check status, which can be used by E2E state machine check function. The E2E Profile 4m delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P04mProtect E2E.h Protects the array/buffer to be transmitted using the E2E profile 4m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. E2E_P04mProtectInit E2E.h Initializes the protection state. E2E_P04mSinkCheck E2E.h Checks the Data received using the E2E profile 4m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. This function is intended for usage at the data sink (i.e., in case of C/S communication at the server). E2E_P04mSourceCheck E2E.h Checks the Data received using the E2E profile 4m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. This function is intended for usage at the data source (i.e., in case of C/S communication at the client). E2E_P04Protect E2E.h Protects the array/buffer to be transmitted using the E2E profile 4. This includes checksum calculation, handling of counter and Data ID. E2E_P04ProtectInit E2E.h Initializes the protection state. E2E_P05Check E2E.h Checks the Data received using the E2E profile 5. This includes CRC calculation, handling of Counter. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. E2E_P05CheckInit E2E.h Initializes the check state E2E_P05Forward (draft) E2E.h Protects data which is forwarded by using the E2E profile 05. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P05MapStatusToSM E2E.h The function maps the check status of Profile 5 to a generic check status, which can be used by E2E state machine check function. The E2E Profile 5 delivers a more fine-granular status, but this is not relevant for the E2E state machine. API Function Header File Description E2E_P05Protect E2E.h Protects the array/buffer to be transmitted using the E2E profile 5. This includes checksum calculation, handling of counter. E2E_P05ProtectInit E2E.h Initializes the protection state. E2E_P06Check E2E.h Checks the Data received using the E2E profile 6. This includes CRC calculation, handling of Counter. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. E2E_P06CheckInit E2E.h Initializes the check state E2E_P06Forward (draft) E2E.h Protects data which is forwarded by using the E2E profile 06. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P06MapStatusToSM E2E.h The function maps the check status of Profile 6 to a generic check status, which can be used by E2E state machine check function. The E2E Profile 6 delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P06Protect E2E.h Protects the array/buffer to be transmitted using the E2E profile 6. This includes checksum calculation, handling of counter. E2E_P06ProtectInit E2E.h Initializes the protection state. E2E_P07Check E2E.h Checks the Data received using the E2E profile 7. This includes CRC calculation, handling of Counter and Data ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. E2E_P07CheckInit E2E.h Initializes the check state E2E_P07Forward (draft) E2E.h Protects data which is forwarded by using the E2E profile 07. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P07MapStatusToSM E2E.h The function maps the check status of Profile 7 to a generic check status, which can be used by E2E state machine check function. The E2E Profile 7 delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P07mCheckInit E2E.h Initializes the check state E2E_P07mForward (draft) E2E.h Protects data which is forwarded by using the E2E profile 7m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P07mMapStatusToSM E2E.h The function maps the check status of Profile 7m to a generic check status, which can be used by E2E state machine check function. The E2E Profile 7m delivers a more fine-granular status, but this is not relevant for the E2E state machine. API Function Header File Description E2E_P07mProtect E2E.h Protects the array/buffer to be transmitted using the E2E profile 7m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. E2E_P07mProtectInit E2E.h Initializes the protection state. E2E_P07mSinkCheck E2E.h Checks the Data received using the E2E profile 7m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. This function is intended for usage at the data sink (i.e., in case of C/S communication at the server). E2E_P07mSourceCheck E2E.h Checks the Data received using the E2E profile 7m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. This function is intended for usage at the data source (i.e., in case of C/S communication at the client). E2E_P07Protect E2E.h Protects the array/buffer to be transmitted using the E2E profile 7. This includes checksum calculation, handling of counter and Data ID. E2E_P07ProtectInit E2E.h Initializes the protection state. E2E_P08Check E2E.h Checks the Data received using the E2E profile 08. This includes CRC calculation, handling of Counter and Data ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. E2E_P08CheckInit E2E.h Initializes the check state E2E_P08Forward (draft) E2E.h Protects data which is forwarded by using the E2E profile 08. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P08MapStatusToSM E2E.h The function maps the check status of Profile 08 to a generic check status, which can be used by E2E state machine check function. The E2E Profile 08 delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P08mCheckInit E2E.h Initializes the check state E2E_P08mForward (draft) E2E.h Protects data which is forwarded by using the E2E profile 08m. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P08mMapStatusToSM E2E.h The function maps the check status of Profile 08m to a generic check status, which can be used by E2E state machine check function. The E2E Profile 08m delivers a more fine-granular status, but this is not relevant for the E2E state machine. API Function Header File Description E2E_P08mProtect E2E.h Protects the array/buffer to be transmitted using the E2E profile 08m. This includes CRC calculation, handling of counter, Data ID, Message Type, Message Result and Source ID. E2E_P08mProtectInit E2E.h Initializes the protection state. E2E_P08mSinkCheck E2E.h Checks the Data received using the E2E profile 8m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. This function is intended for usage at the data sink (i.e., in case of C/S communication at the server). E2E_P08mSourceCheck E2E.h Checks the Data received using the E2E profile 8m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. This function is intended for usage at the data source (i.e., in case of C/S communication at the client). E2E_P08Protect E2E.h Protects the array/buffer to be transmitted using the E2E profile 08. This includes checksum calculation, handling of counter and Data ID. E2E_P08ProtectInit E2E.h Initializes the protection state. E2E_P11Check E2E.h Checks the Data received using the E2E profile 11. This includes CRC calculation, handling of Counter. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. E2E_P11CheckInit E2E.h Initializes the check state E2E_P11Forward (draft) E2E.h Protects data which is forwarded by using the E2E profile 11. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P11MapStatusToSM E2E.h The function maps the check status of Profile 11 to a generic check status, which can be used by E2E state machine check function. The E2E Profile 11 delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P11Protect E2E.h Protects the array/buffer to be transmitted using the E2E profile 11. This includes checksum calculation, handling of counter. E2E_P11ProtectInit E2E.h Initializes the protection state. E2E_P22Check E2E.h Checks the Data received using the E2E profile 22. This includes CRC calculation, handling of Counter. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. E2E_P22CheckInit E2E.h Initializes the check state E2E_P22Forward (draft) E2E.h Protects data which is forwarded by using the E2E profile 22. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft API Function Header File Description E2E_P22MapStatusToSM E2E.h The function maps the check status of Profile 22 to a generic check status, which can be used by E2E state machine check function. The E2E Profile 22 delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P22Protect E2E.h Protects the array/buffer to be transmitted using the E2E profile 22. This includes checksum calculation, handling of counter. E2E_P22ProtectInit E2E.h Initializes the protection state. E2E_P44Check E2E.h Checks the Data received using the E2E profile 44. This includes CRC calculation, handling of Counter and Data ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. E2E_P44CheckInit E2E.h Initializes the check state. E2E_P44Forward (draft) E2E.h Protects data which is forwarded by using the E2E profile 44. This includes checksum calculation, handling of counter and Data ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P44MapStatusToSM E2E.h The function maps the check status of Profile 44 to a generic check status, which can be used by E2E state machine check function. The E2E Profile 44 delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P44mCheckInit E2E.h Initializes the check state E2E_P44mForward (draft) E2E.h Protects data which is forwarded by using the E2E profile 44m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. Detected Errors of received message will be reconstruct on output data. Tags: atp.Status=draft E2E_P44mMapStatusToSM E2E.h The function maps the check status of Profile 44m to a generic check status, which can be used by E2E state machine check function. The E2E Profile 44m delivers a more fine-granular status, but this is not relevant for the E2E state machine. E2E_P44mProtectInit E2E.h Initializes the protection state. E2E_P44mSinkCheck E2E.h Checks the Data received using the E2E profile 44m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. This function is intended for usage at the data sink (i.e., in case of C/S communication at the server). E2E_P44mSourceCheck E2E.h Checks the Data received using the E2E profile 44m. This includes CRC calculation, handling of Counter, Data ID, Message Type, Message Result, and Source ID. The function checks only one single data in one cycle, it does not determine/compute the accumulated state of the communication link. This function is intended for usage at the data source (i.e., in case of C/S communication at the client). E2E_P44Protect E2E.h Protects the array/buffer to be transmitted using the E2E profile 44. This includes checksum calculation, handling of counter and Data ID. API Function Header File Description E2E_P44ProtectInit E2E.h Initializes the protection state. E2E_SMCheck E2E.h Checks the communication channel. It determines if the data can be used for safety-related application, based on history of checks performed by a corresponding E2E_P0XCheck() function. E2E_SMCheckInit E2E.h Initializes the state machine.
requirement SWS_E2EXf_00047 [SWS_E2EXf_00047] 📄 PDF
Module Header File Imported Type E2E.h E2E_P01CheckStateType E2E.h E2E_P01CheckStatusType E2E.h E2E_P01ConfigType E2E.h E2E_P01DataIDMode E2E.h E2E_P01ProtectStateType E2E.h E2E_P02CheckStateType E2E.h E2E_P02CheckStatusType E2E.h E2E_P02ConfigType E2E.h E2E_P02ProtectStateType E2E.h E2E_P04CheckStateType E2E.h E2E_P04CheckStatusType E2E.h E2E_P04ConfigType E2E.h E2E_P04ProtectStateType E2E.h E2E_P04mCheckStateType E2E.h E2E_P04mCheckStatusType E2E.h E2E_P04mConfigType E2E.h E2E_P04mProtectStateType E2E.h E2E_P05CheckStateType E2E.h E2E_P05CheckStatusType E2E.h E2E_P05ConfigType E2E.h E2E_P05ProtectStateType E2E.h E2E_P06CheckStateType E2E.h E2E_P06CheckStatusType E2E.h E2E_P06ConfigType E2E.h E2E_P06ProtectStateType E2E.h E2E_P07CheckStateType E2E.h E2E_P07CheckStatusType E2E.h E2E_P07ConfigType E2E.h E2E_P07ProtectStateType E2E.h E2E_P07mCheckStateType E2E.h E2E_P07mCheckStatusType E2E.h E2E_P07mConfigType E2E.h E2E_P07mProtectStateType E2E.h E2E_P08CheckStateType E2E E2E.h E2E_P08CheckStatusType Module Header File Imported Type E2E.h E2E_P08ConfigType E2E.h E2E_P08ProtectStateType E2E.h E2E_P08mCheckStateType E2E.h E2E_P08mCheckStatusType E2E.h E2E_P08mConfigType E2E.h E2E_P08mProtectStateType E2E.h E2E_P11CheckStateType E2E.h E2E_P11CheckStatusType E2E.h E2E_P11ConfigType E2E.h E2E_P11DataIDMode E2E.h E2E_P11ProtectStateType E2E.h E2E_P22CheckStateType E2E.h E2E_P22CheckStatusType E2E.h E2E_P22ConfigType E2E.h E2E_P22ProtectStateType E2E.h E2E_P44CheckStateType E2E.h E2E_P44CheckStatusType E2E.h E2E_P44ConfigType E2E.h E2E_P44ProtectStateType E2E.h E2E_P44mCheckStateType E2E.h E2E_P44mCheckStatusType E2E.h E2E_P44mConfigType E2E.h E2E_P44mProtectStateType E2E.h E2E_PCheckStatusType E2E.h E2E_SMCheckStateType E2E.h E2E_SMConfigType E2E.h E2E_SMStateType Std_Types.h Std_ExtractProtocolHeaderFieldsType Std_Types.h Std_MessageResultType Std_Types.h Std_MessageTypeType Std_Types.h Std_ReturnType Std_Types.h Std_TransformerForwardCode (draft) Std Std_Types.h Std_VersionInfoType
requirement SWS_E2EXf_00048 [SWS_E2EXf_00048] 📄 PDF
The generated configuration object of type E2E_P01Config Type shall be initialized according to the following: • DataID = EndToEndTransformationISignalProps.dataID • DataLength = EndToEndTransformationISignalProps.dataLength • CounterOffset = EndToEndTransformationDescription.counterOffset • CRCOffset = EndToEndTransformationDescription.crcOffset • DataIDNibbleOffset = EndToEndTransformationDescription.dataIdNibbleOffset • DataIDMode shall be set to – E2E_P01_DATAID_BOTH if EndToEndTransformationDescription.dataID- Mode == all16Bit – E2E_P01_DATAID_ALT if EndToEndTransformationDescription.dataID- Mode == alternating8Bit – E2E_P01_DATAID_LOW if EndToEndTransformationDescription.data IDMode == lower8Bit – E2E_P01_DATAID_NIBBLE if EndToEndTransformationDescription.dataID- Mode == nibble • MaxDeltaCounterInit = EndToEndTransformationComSpecProps.maxDelta Counter-1 or EndToEndTransformationDescription.maxDeltaCounter-1 • MaxNoNewOrRepeatedData = EndToEndTransformationComSpecProps.maxNo NewOrRepeatedData or EndToEndTransformationDescription.maxNoNewOrRe- peatedData • SyncCounterInit = EndToEndTransformationComSpecProps.syncCounterInit or EndToEndTransformationDescription.syncCounterInit.
requirement SWS_E2EXf_00087 [SWS_E2EXf_00087] 📄 PDF
The generated configuration object of type E2E_P04Config Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • MinDataLength = EndToEndTransformationISignalProps.minDataLength • MaxDataLength = EndToEndTransformationISignalProps.maxDataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00088 [SWS_E2EXf_00088] 📄 PDF
The generated config structure of type E2E_SMConfig Type,shall be initialized according to the following (one-to-one mapping): • WindowSize = EndToEndTransformationComSpecProps.windowSize or EndTo EndTransformationDescription.windowSize • MinOkStateInit = EndToEndTransformationComSpecProps.minOkStateInit or EndToEndTransformationDescription.minOkStateInit • MaxErrorStateInit = EndToEndTransformationComSpecProps.maxErrorStateInit or EndToEndTransformationDescription.maxErrorStateInit • MinOkStateValid = EndToEndTransformationComSpecProps.minOkStateValid or EndToEndTransformationDescription.minOkStateValid • MaxErrorStateValid = EndToEndTransformationComSpecProps.maxErrorState Valid or EndToEndTransformationDescription.maxErrorStateValid • MinOkStateInvalid = EndToEndTransformationComSpecProps.minOkStateIn- valid or EndToEndTransformationDescription.minOkStateInvalid • MaxErrorStateInvalid = EndToEndTransformationComSpecProps.maxErrorState Invalid or EndToEndTransformationDescription.maxErrorStateInvalid
requirement SWS_E2EXf_00089 [SWS_E2EXf_00089] 📄 PDF
In case of link-time configuration, there is just one variant, this means: <v>= emtpy (NULL string).
requirement SWS_E2EXf_00090 [SWS_E2EXf_00090] 📄 PDF
In case of post-build-selectable configuration, the variants shall be named according to the configuration attribute PredefinedVariant.shortName. This means: <v> = PredefinedVariant.shortName.
requirement SWS_E2EXf_00096 [SWS_E2EXf_00096] 📄 PDF
The configuration object E2EXf_ConfigStruct_<v> (see SWS_ E2EXf_00011) shall be initialized to contain or to reference the config structures that were instantiated in above requirements of this section.
requirement SWS_E2EXf_00102 [SWS_E2EXf_00102] 📄 PDF
In-place E2EXf_<transformerId> shall perform the following two precondition checks, without continuing further processing: 1. (buffer == NULL) || (buffer != NULL && inputBufferLength < EndToEndTransformationDescrip- tion.upperHeaderBitsToShift/8u) 2. bufferLength == NULL. If any of above conditions is TRUE, then the function shall return E_SAFETY_HARD_ RUNTIMEERROR.
requirement SWS_E2EXf_00103 [SWS_E2EXf_00103] 📄 PDF
Out-of-place E2EXf_Inv_<transformerId> shall perform the fol- lowing three precondition checks, without continuing further processing: 1. (inputBuffer == NULL && inputBufferLength != 0) || (inputBuffer != NULL && inputBufferLength < BufferProperties.headerLength/8u + EndToEndTransformationDescription.upperHeaderBitsToShift/8u) 2. If (bufferLength == NULL) 3. If (buffer == NULL). If any of above conditions is TRUE, then the function shall return E_SAFETY_HARD_ RUNTIMEERROR.
requirement SWS_E2EXf_00104 [SWS_E2EXf_00104] 📄 PDF
For PXX = 04, 05, 06, 07, 11, 22: the function E2EXf_ Inv_<transformerId> shall invoke E2E_PXXCheck(), passing to that function: • config, • state, • data length: inputBufferLength pointer to data:inputBuffer (out-of-place version) or buffer (in-place version).
requirement SWS_E2EXf_00105 [SWS_E2EXf_00105] 📄 PDF
In-place E2EXf_Inv_<transformerId> shall perform the follow- ing two precondition checks, without continuing further processing: 1. (buffer == NULL && inputBufferLength != 0) || (buffer != NULL && inputBufferLength < BufferProperties.headerLength/8u + End ToEndTransformationDescription.upperHeaderBitsToShift/8u) 2. bufferLength == NULL. If any of above conditions is TRUE, then the function shall return E_SAFETY_HARD_ RUNTIMEERROR.
requirement SWS_E2EXf_00106 [SWS_E2EXf_00106] 📄 PDF
Out-of-place E2EXf_<transformerId> shall perform the follow- ing three precondition checks, without continuing further processing: 1. (inputBuffer == NULL) || (inputBuffer != NULL && inputBufferLength < EndToEndTransformationDescrip- tion.upperHeaderBitsToShift/8u) 2. bufferLength == NULL 3. buffer == NULL If any of above conditions is TRUE, then the function shall return E_SAFETY_HARD_ RUNTIMEERROR.
requirement SWS_E2EXf_00107 [SWS_E2EXf_00107] 📄 PDF
{DRAFT} If DataTransformationStatusForwarding is set to no TransformerStatusForwarding and PXX is P01 ,P02 ,P04 ,P05 ,P06 ,P07 ,P08 ,P11 ,P22 or P44, the function E2EXf_<transformerId>() shall invoke E2E_PXXProtect(), passing to that function the appropriate Config and State structures (see [SWS_ E2EXf_00125] and [SWS_E2EXf_00126]) that are associated with <transformerId>, as well as buffer and bufferLength (only for P04, P05, P06, P07, P08 ,P11 ,P22 and P44) that were updated in above requirements SWS_E2EXf_00108, SWS_E2EXf_00109, SWS_E2EXf_00115, SWS_E2EXf_00111.
requirement SWS_E2EXf_00108 [SWS_E2EXf_00108] 📄 PDF
If (EndToEndTransformationDescription.upperHeaderBitsTo Shift > 0), in-place E2EXf_<transformerId> shall copy the amount upper HeaderBits ToShiftbits, in parameter buffer, with starting offset of BufferProperties.headerLength, in direction left by "distance" of BufferProperties.headerLength.
requirement SWS_E2EXf_00109 [SWS_E2EXf_00109] 📄 PDF
If (EndToEndTransformationDescription.upperHeaderBitsTo Shift > 0), out-of-place E2EXf_<transformerId> shall copy the first upper HeaderBits ToShiftbits from inputBuffer to buffer, and then copy the remaining part of inputBuffer (i.e. starting with offset upperHeaderBitsToShift) to parameter buffer starting with the destination offset of (upperHeaderBitsToShift+ BufferProperties.headerLength).
requirement SWS_E2EXf_00111 [SWS_E2EXf_00111] 📄 PDF
E2EXf_<transformerId> shall set *bufferLength = inputBuffer Length + BufferProperties.headerLength/8.
requirement SWS_E2EXf_00112 [SWS_E2EXf_00112] 📄 PDF
If (buffer != NULL &&EndToEndTransformationDescrip- tion.upperHeaderBitsToShift> 0), in-place E2EXf_Inv_<transformerId> shall copy the first upper HeaderBitsToShiftbits, in parameter buffer, in direction right by "distance" of BufferProperties.headerLength.
requirement SWS_E2EXf_00113 [SWS_E2EXf_00113] 📄 PDF
If (inputBuffer != NULL &&EndToEndTransformationDescrip- tion.upperHeaderBitsToShift> 0), out-of-place E2EXf_Inv_<transformerId> shall copy the first upper HeaderBitsToShiftbits from inputBuffer to buffer, and then copy the re- maining part of inputBuffer skipping E2E header (i.e. starting with offset upperHeader BitsToShift+BufferProperties.headerLength) to parameter buffer starting with the des- tination offset of (upperHeaderBitsToShift).
requirement SWS_E2EXf_00114 [SWS_E2EXf_00114] 📄 PDF
If inputBufferLength == 0, then E2EXf_Inv_<transformerId> shall set *bufferLength = 0, otherwise it shall set *bufferLength = inputBufferLength - BufferProperties.headerLength/8.
requirement SWS_E2EXf_00115 [SWS_E2EXf_00115] 📄 PDF
If (EndToEndTransformationDescription.upperHeaderBitsTo Shift == 0), out-of-place E2EXf_<transformerId> shall copy inputBuffer to buffer start- ing with the destination offset of BufferProperties.headerLength.
requirement SWS_E2EXf_00116 [SWS_E2EXf_00116] 📄 PDF
If (inputBuffer != NULL &&EndToEndTransformationDescrip- tion.upperHeaderBitsToShift == 0), out-of-place E2EXf_Inv_<transformerId> shall copy inputBuffer starting with the offset of BufferProperties.headerLength, to buffer.
requirement SWS_E2EXf_00118 [SWS_E2EXf_00118] 📄 PDF
The generated configuration object of type E2E_P02Config Type shall be initialized according to the following: • DataIDList= EndToEndTransformationISignalProps.dataID (array) • DataLength = EndToEndTransformationISignalProps.dataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounterInit = EndToEndTransformationComSpecProps.maxDelta Counter-1 or EndToEndTransformationDescription.maxDeltaCounter-1 • MaxNoNewOrRepeatedData = EndToEndTransformationComSpecProps.maxNo NewOrRepeatedData or EndToEndTransformationDescription.maxNoNewOrRe- peatedData • SyncCounterInit = EndToEndTransformationComSpecProps.syncCounterInit or EndToEndTransformationDescription. syncCounterInit.
requirement SWS_E2EXf_00119 [SWS_E2EXf_00119] 📄 PDF
The generated configuration object of type E2E_P05Config Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • DataLength = EndToEndTransformationISignalProps.dataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00120 [SWS_E2EXf_00120] 📄 PDF
The generated configuration object of type E2E_P06Config Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • MinDataLength = EndToEndTransformationISignalProps.minDataLength • MaxDataLength = EndToEndTransformationISignalProps.maxDataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00122 [SWS_E2EXf_00122] 📄 PDF
The runtime errors detected by the E2EXf_<transformerId> function shall be reported as return value to the caller (i.e. to RTE).
requirement SWS_E2EXf_00123 [SWS_E2EXf_00123] 📄 PDF
For PXX = 01 or 02 (i.e. for profiles 1 and 2), the out-of-place function E2EXf_Inv_<transformerId> shall invoke E2E_PXXCheck(), passing to that function: • Config, • State, • Data Concerning pointer to Data: if(inputBuffer == NULL and inputBufferLength == 0), then it shall pass a pointer to a 1-byte variable of E2E transformer, otherwise it shall pass inputBuffer.
requirement SWS_E2EXf_00124 [SWS_E2EXf_00124] 📄 PDF
For PXX = 01 or 02 (i.e. for profiles 1 and 2), the in-place function E2EXf_Inv_<transformerId> shall invoke E2E_PXXCheck(), passing to that function: • Config, • State, • Data Concerning pointer to Data: if(buffer == NULL and inputBufferLength == 0), then it shall pass a pointer to a 1-byte variable of E2E transformer, otherwise it shall pass buffer.
requirement SWS_E2EXf_00125 [SWS_E2EXf_00125] 📄 PDF
The E2E Transformer shall derive the required number of in- dependent state data resources of types E2E_PXXProtectStateType, E2E_PXXCheck StateType, and E2E_SMCheckStateType to perform E2E Protection within the E2E Transformer module from the number of E2E-protected data uniquely identified with <transformerId>, protected by profile PXX.
requirement SWS_E2EXf_00126 [SWS_E2EXf_00126] 📄 PDF
The E2E Transformer shall derive the required number of inde- pendent statically initialized configuration objects of types E2E_PXXConfigType, E2E_ SMConfigType and (if required) additional information (e.g. the Source ID on client side for profiles P04m, P07m, P08m, P44m) to perform E2E Protection within the E2E Transformer, from: 1. the number of E2E-protected data uniquely identified with <transformerId>, pro- tected by profile PXX, and 2. the number of configuration variants (post-build selectable only).
requirement SWS_E2EXf_00130 [SWS_E2EXf_00130] 📄 PDF
The E2E Transformer shall maintain a boolean information (Ini- tialization state) that is only set to TRUE, if the module has been successfully initialized via a call to E2EXf_Init(). Otherwise, it is set to FALSE.
requirement SWS_E2EXf_00132 [SWS_E2EXf_00132] 📄 PDF
In case of deinitialization (invocation of E2EXf_DeInit()), the module initialization state shall be set to FALSE.
requirement SWS_E2EXf_00133 [SWS_E2EXf_00133] 📄 PDF
If the E2E Transformer has not been correctly initialized (which means that E2EXf_Init() was not successfully called before), then all gener- ated E2E Transformer APIs shall return E_SAFETY_HARD_RUNTIMEERROR.
requirement SWS_E2EXf_00134 [SWS_E2EXf_00134] 📄 PDF
The configuration options in EndToEndTransformationCom SpecProps shall have precedence over the options in EndToEndTransformationDe- scription and EndToEndTransformationISignalProps.
requirement SWS_E2EXf_00137 [SWS_E2EXf_00137] 📄 PDF
Type of error Related error code Error value Error code if any other API service, except Get VersionInfo is called before the transformer module was initialized with Init or after a call to De Init E2EXF_E_UNINIT 0x01 Error code if an invalid configuration set was selected E2EXF_E_INIT_FAILED 0x02 API service called with wrong parameter E2EXF_E_PARAM 0x03 API service called with invalid pointer E2EXF_E_PARAM_POINTER 0x04
requirement SWS_E2EXf_00139 [SWS_E2EXf_00139] 📄 PDF
For PXX = 01 or 02, the function E2EXf_<transformerId>() shall perform a check of the *bufferLength (after the computation of *bufferLength): If (*bufferLength != config->DataLength/8), then the function shall return E_SAFETY_ HARD_RUNTIMEERROR, i.e. without calling an E2E Library function.
requirement SWS_E2EXf_00140 [SWS_E2EXf_00140] 📄 PDF
For PXX = 01 or 02 (i.e. for profile 1 and 2), the out-of-place function E2EXf_Inv_<transformerId> shall 1. if(inputBuffer == NULL and inputBufferLength == 0), then • variable NewDataAvailable of state object of type E2E_PXXCheckStateType (see [SWS_E2EXf_00125]) associated with <transformerId> shall be set to FALSE. 2. else if (inputBufferLength == config->DataLength/8), then • variable NewDataAvailable of state object of type E2E_PXXCheckState Type (see [SWS_E2EXf_00125]) associated with <transformerId> shall be set to TRUE. 3. else return E_SAFETY_HARD_RUNTIMEERROR.
requirement SWS_E2EXf_00141 [SWS_E2EXf_00141] 📄 PDF
For PXX = 01 or 02 (i.e. for profiles 1 and 2), the in-place function E2EXf_Inv_<transformerId> shall 1. If(buffer == NULL and inputBufferLength == 0), then • variable NewDataAvailable of state object of type E2E_PXXCheckStateType (see [SWS_E2EXf_00125]) associated with <transformerId> shall be set to FALSE. 2. Else if (inputBufferLength == config->DataLength/8), then • variable NewDataAvailable of state object of type E2E_PXXCheckState Type (see [SWS_E2EXf_00125]) associated with <transformerId> shall be set to TRUE. 3. Else return E_SAFETY_HARD_RUNTIMEERROR.
requirement SWS_E2EXf_00142 [SWS_E2EXf_00142] 📄 PDF
If configuration parameter profileBehavior is PRE_R4_2, then for PXX = 01 or 02, E2EXf_Inv_<transformerId> () shall set the variable MaxDelta Counter of the state object to the value of variable MaxDeltaCounterInit of the corre- sponding configuration object.
requirement SWS_E2EXf_00144 [SWS_E2EXf_00144] 📄 PDF
If the XfrmDevErrorDetect switch is enabled and the configu- ration variant is VARIANT-POST-BUILD, the function E2EXf_Init shall check if a NULL pointer is passed for the ConfigPtr parameter. In this case the remaining function shall not be executed and the function E2EXf_Init shall report development error code E2EXF_E_PARAM_POINTER to the Det_ReportError service of the Default Error Tracer.
requirement SWS_E2EXf_00145 [SWS_E2EXf_00145] 📄 PDF
If the XfrmDevErrorDetect switch is enabled and the configura- tion variant is VARIANT-POST-BUILD, the function E2EXf_Init shall check the contents of the given configuration set for being within the allowed boundaries. If the func- tion E2EXf_Init detects an error, then it shall skip the initialization of the E2E Trans- former, keep the module internal state as uninitialized and it shall report development error code E2EXF_E_INIT_FAILED to the Det_ReportError service of the Default Error Tracer.
requirement SWS_E2EXf_00146 [SWS_E2EXf_00146] 📄 PDF
If the configuration parameter XfrmDevErrorDetect is enabled, the function E2EXf_DeInit shall check if the E2E transformer is initialized. If not initial- ized, the function E2EXf_DeInit shall return without any effect and shall report the error to the Default Error Tracer with the error code E2EXF_E_UNINIT.
requirement SWS_E2EXf_00148 [SWS_E2EXf_00148] 📄 PDF
E2EXf_DeInit() shall set the module initialization state to FALSE.
requirement SWS_E2EXf_00149 [SWS_E2EXf_00149] 📄 PDF
If the XfrmDevErrorDetect switch is enabled, the function E2EXf_GetVersionInfo shall check if a NULL pointer is passed for the VersionInfo pa- rameter. In this case of an error the remaining function E2EXf_GetVersionInfo shall not be executed and the function E2EXf_GetVersionInfo shall report development er- ror code E2EXF_E_PARAM_POINTER to the Det_ReportError service of the Default Error Tracer and return.
requirement SWS_E2EXf_00150 [SWS_E2EXf_00150] 📄 PDF
If the configuration parameter XfrmDevErrorDetect is enabled, all parameters of API E2EXf_<transformerId> (see SWS_E2EXf_00032) shall be checked for being in the allowed range. In case of an error the mode switch shall not be executed, an the error shall be reported to the Default Error Tracer with either value E2EXF_E_PARAM (parameter out of range) resp. E2EXF_E_PARAM_POINTER in case of a pointer argument (NULL pointer) and the routine shall return the value E_ SAFETY_HARD_RUNTIMEERROR.
requirement SWS_E2EXf_00151 [SWS_E2EXf_00151] 📄 PDF
If the configuration parameter XfrmDevErrorDetect is enabled, the API E2EXf_<transformerId> (see SWS_E2EXf_00032) shall check if the E2E Transformer is initialized. In case of an error, the error code E2EXF_E_UNINIT shall be reported to the Default Error Tracer and the routine shall return the value E_SAFETY_ HARD_RUNTIMEERROR.
requirement SWS_E2EXf_00152 [SWS_E2EXf_00152] 📄 PDF
If the configuration parameter XfrmDevErrorDetect is enabled, all parameters of API E2EXf_Inv_<transformerId> (see SWS_E2EXf_00034) shall be checked for being in the allowed range. In case of an error the mode switch shall not be executed, the error shall be reported to the Default Error Tracer with the value E2EXF_ E_PARAM resp. E2EXF_E_PARAM_POINTER in case of a pointer argument (NULL pointer) and the routine shall return the value E_SAFETY_HARD_RUNTIMEERROR.
requirement SWS_E2EXf_00153 [SWS_E2EXf_00153] 📄 PDF
If the configuration parameter XfrmDevErrorDetect is enabled, the API E2EXf_Inv_<transformerId> (see SWS_E2EXf_00034) shall check if the E2E Transformer is initialized. In case of an error the routine shall not be executed, the error shall be reported to the Default Error Tracer with the error code E2EXF_E_UNINIT and the routine shall return the value E_SAFETY_HARD_RUNTIMEERROR.
requirement SWS_E2EXf_00154 [SWS_E2EXf_00154] 📄 PDF
If configuration option EndToEndTransformationComSpec Props.disableEndToEndCheck is set for a given <transformerId>, then E2E Trans- former shall skip the invocation of the E2E Library - it shall only perform buffer pro- cessing (e.g. copying from inputBuffer to buffer). Return value shall be E_OK.
requirement SWS_E2EXf_00155 [SWS_E2EXf_00155] 📄 PDF
{DRAFT} If (((PXX = 01 &&dataIDMode != nibble) || (PXX == 02) || (PXX = 11 &&dataIDMode != nibble) || (PXX == 22)) && BufferProperties.header Length == 16 [bits]), the function E2EXf_<transformerId>() shall, before calling E2E_ PXXProtect() or E2E_PXXForward(), set 0xF in buffer at the bit offset (EndToEndTrans- formationDescription.crcOffset+12 for profiles P01 and P11 and EndToEndTransforma- tionDescription.offset+12 for profiles P02 and P22).
requirement SWS_E2EXf_00156 [SWS_E2EXf_00156] 📄 PDF
The apiServicePrefix of the E2E Transformer's EcuC shall be set to E2EXf.
requirement SWS_E2EXf_00158 [SWS_E2EXf_00158] 📄 PDF
The E2EXf_Init() function shall initialize the internal state data resources of E2E functions forward, protect check and state machine of E2E trans- former.
requirement SWS_E2EXf_00159 [SWS_E2EXf_00159] 📄 PDF
In case of post-build configuration, E2EXf_Init() function shall initialize the E2E transformer for a driving cycle.
requirement SWS_E2EXf_00161 [SWS_E2EXf_00161] 📄 PDF
The E2E transformer defined in this document shall be used as a transformer if 1. the attribute protocol of the TransformationTechnology is set to E2E 2. and the attribute version of the TransformationTechnology is set to 1.0.0 3. and the attribute transformerClass of the TransformationTechnology is set to safety
requirement SWS_E2EXf_00162 [SWS_E2EXf_00162] 📄 PDF
The generated configuration object of type E2E_P11Config Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • DataLength = EndToEndTransformationISignalProps.dataLength • CounterOffset = EndToEndTransformationDescription.counterOffset • CRCOffset = EndToEndTransformationDescription.crcOffset • DataIDNibbleOffset = EndToEndTransformationDescription.dataIdNibbleOffset • DataIDMode shall be set to – E2E_P11_DATAID_BOTH if EndToEndTransformationDescription.dataID- Mode == all16Bit – E2E_P11_DATAID_NIBBLE if EndToEndTransformationDescription.dataID- Mode == nibble • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00163 [SWS_E2EXf_00163] 📄 PDF
The generated configuration object of type E2E_P07Config Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • MinDataLength = EndToEndTransformationISignalProps.minDataLength • MaxDataLength = EndToEndTransformationISignalProps.maxDataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00164 [SWS_E2EXf_00164] 📄 PDF
The generated configuration object of type E2E_P22Config Type shall be initialized according to the following: • DataIDList = EndToEndTransformationISignalProps.dataID (array) • DataLength = EndToEndTransformationISignalProps.dataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00165 [SWS_E2EXf_00165] 📄 PDF
If E2E-Transformer is used for a response in a Client-Server Communication and Profile is P02 or P22 the sequence counter used for protecting the response shall be set to requestCounter -1.
requirement SWS_E2EXf_00166 [SWS_E2EXf_00166] 📄 PDF
If E2E-Transformer is used in a Client-Server Communication and Profile is P01, P04, P04m, P05, P06, P07, P07m, P08, P08m, P11, P44 or P44m the sequence counter for protecting the response shall be set to requestCounter.
requirement SWS_E2EXf_00167 [SWS_E2EXf_00167] 📄 PDF
In case of Client/Server-Communication on the server side, if the return value ret equals to E_SAFETY_*_ERR, the value shall be overwritten to E_ E2E_HARD_SAFETY_ERR .
requirement SWS_E2EXf_00168 [SWS_E2EXf_00168] 📄 PDF
{DRAFT} If DataTransformationStatusForwarding is set to transformerStatusForwarding and PXX is P01, P02, P04, P05, P06, P07, P08, P11, P22 or P44 the function E2EXf_<transformerId>() shall invoke E2E_PXXForward(), passing to that function the appropriate Config and State structures (see [SWS_ E2EXf_00125] and [SWS_E2EXf_00126]) that are associated with <transformerId>, as well as buffer and bufferLength (only for P04, P05, P06, P07, P08, P11, P22 and P44) that were updated in above requirements SWS_E2EXf_00108, SWS_E2EXf_00109, SWS_E2EXf_00115, SWS_E2EXf_00111. In addition, the E2E status shall be passed on to the E2E_PXXForward() func- tion based on the parameter forwardedCode provided by the RTE. This param- eter is associated with the optional IN parameter forwardedCode from Rte_Write (SWS_Rte_01071), Rte_Send (SWS_Rte_01072), Rte_IWrite (SWS_Rte_03744) and Rte_IWriteRef (SWS_Rte_05509). The forwardedCode must be mapped to the match- ing E2E status (see Table 7.1).
requirement SWS_E2EXf_00169 [SWS_E2EXf_00169] 📄 PDF
If disableEndToEndStateMachine is to TRUE, • The high nibble of the return of the function E2EXf_Inv_<transformerId> shall be set to 0x6. • The low nibble of the return of the function E2EXf_Inv_<transformerId> shall be set to the low nibble of the profile-independent check status of type E2E_PCheck StatusType.
requirement SWS_E2EXf_00170 [SWS_E2EXf_00170] 📄 PDF
If E2EXf_<transformerId> is used in a Client-Server Commu- nication on the client-side and Profile is P02 or P22, state->Counter shall be stored to as requestCounter to be accessed by the E2EXf_Inv_<transformerId> for checking the response.
requirement SWS_E2EXf_00171 [SWS_E2EXf_00171] 📄 PDF
If E2EXf_<transformerId> is used in a Client-Server Commu- nication on the client-side and Profile is P01, P04, P05, P06, P07, P08, P11, P44, P04m, P07m, P08m, P44m state->Counter -1 shall be stored as requestCounter to be accessed by the E2EXf_Inv_<transformerId> for checking the response.
requirement SWS_E2EXf_00172 [SWS_E2EXf_00172] 📄 PDF
In case of Client/Server Communication on the client side and Profile is P01 or P02, state->LastValidCounter of E2EXf_Inv_<transformer_Id> shall be set to the requestCounter-1.
requirement SWS_E2EXf_00173 [SWS_E2EXf_00173] 📄 PDF
In case of Client/Server Communication on the client side and Profile is P04, P05, P06, P07, P08, P11, P22 or P44, P04m, P07m, P08m, P44m state->Counter of E2EXf_Inv_<transformerId> shall be set to the requestCounter-1.
requirement SWS_E2EXf_00175 [SWS_E2EXf_00175] 📄 PDF
In case of Client/Server Communication on the client side, if the E2E_PXXCheck function returns a value different from E2E_P_OK, the status shall be set to E2E_P_ERR.
requirement SWS_E2EXf_00176 [SWS_E2EXf_00176] 📄 PDF
The generated configuration object of type E2E_P44Config Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • MinDataLength = EndToEndTransformationISignalProps.minDataLength • MaxDataLength = EndToEndTransformationISignalProps.maxDataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00177 [SWS_E2EXf_00177] 📄 PDF
The generated configuration object of type E2E_P08Config Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • MinDataLength = EndToEndTransformationISignalProps.minDataLength • MaxDataLength = EndToEndTransformationISignalProps.maxDataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00178 [SWS_E2EXf_00178] 📄 PDF
The generated configuration object of type E2E_P04mConfig Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • MinDataLength = EndToEndTransformationISignalProps.minDataLength • MaxDataLength = EndToEndTransformationISignalProps.maxDataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00179 [SWS_E2EXf_00179] 📄 PDF
The generated configuration object of type E2E_P07mConfig Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • MinDataLength = EndToEndTransformationISignalProps.minDataLength • MaxDataLength = EndToEndTransformationISignalProps.maxDataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00180 [SWS_E2EXf_00180] 📄 PDF
For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_<transformerId> shall perform the following additional pre- condition checks, without continuing further processing: 1. extractProtocolHeaderFields == NULL 2. csTransactionHandle == NULL. If any of above conditions is TRUE, then the function shall return E_SAFETY_HARD_ RUNTIMEERROR.
requirement SWS_E2EXf_00181 [SWS_E2EXf_00181] 📄 PDF
For profiles P04m, P07m, P08m and P44m the in-place E2EXf_<transformerId> on the client-side shall call the extractProtocolHeaderFields() function passing the buffer, the bufferLength, the address of local messageType vari- able, and the address of a local messageResult variable as parameters.
requirement SWS_E2EXf_00182 [SWS_E2EXf_00182] 📄 PDF
For profiles P04m, P07m, P08m and P44m the out-of-place E2EXf_<transformerId> on the client-side shall call the extractProtocolHeaderFields() function passing the inputBuffer, the inputBufferLength, the address of a local variable named messageType, and the address of a local variable named messageResult as parameters.
requirement SWS_E2EXf_00183 [SWS_E2EXf_00183] 📄 PDF
If extractProtocolHeaderFields() returns something different from E_OK, E2EXf_<transformerId> shall return E_SAFETY_HARD_RUNTIMEER- ROR.
requirement SWS_E2EXf_00184 [SWS_E2EXf_00184] 📄 PDF
For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_<transformerId> on the client-side shall set a local variable sourceID to the sourceID stored in the configuration (see SWS_E2EXf_00126).
requirement SWS_E2EXf_00185 [SWS_E2EXf_00185] 📄 PDF
For profiles P04m, P07m, P08m and P44m the in-place E2EXf_<transformerId> on the server-side shall call the extractProtocolHeaderFields() function passing the buffer, the bufferLength, the address of local messageType vari- able, and the address of a local messageResult variable as parameters.
requirement SWS_E2EXf_00186 [SWS_E2EXf_00186] 📄 PDF
For profiles P04m, P07m, P08m and P44m the out-of-place E2EXf_<transformerId> on the server-side shall call the extractProtocolHeaderFields() function passing the inputBuffer, the inputBufferLength, the address of local message Type variable, and the address of a local messageResult variable as parameters.
requirement SWS_E2EXf_00187 [SWS_E2EXf_00187] 📄 PDF
If extractProtocolHeaderFields() returns something different from E_OK, E2EXf_<transformerId> shall return E_SAFETY_HARD_RUNTIMEER- ROR.
requirement SWS_E2EXf_00188 [SWS_E2EXf_00188] 📄 PDF
For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_<transformerId> on the server-side shall set a local vari- able sourceID to the value of the e2eSourceId element of the csTransactionHandle.
requirement SWS_E2EXf_00189 [SWS_E2EXf_00189] 📄 PDF
For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_<transformerId> on the server-side shall set a local vari- able named requestCounter to the value of the e2eCounter element of the csTransac- tionHandle.
requirement SWS_E2EXf_00190 [SWS_E2EXf_00190] 📄 PDF
If DataTransformationStatusForwarding is set to noTrans- formerStatusForwarding and PXX = P04m, P07m, P08m or P44m the function E2EXf_<transformerId>() shall invoke E2E_PXXProtect(), passing to that function: • the appropriate Config structure (see [SWS_E2EXf_00125]), • the appropriate State structure (see [SWS_E2EXf_00126]), • the local variables sourceID, messageType, and messageResult • buffer + EndToEndTransformationDescription.upperHeaderBitsToShift • bufferLength - EndToEndTransformationDescription.upperHeaderBitsToShift Hereby buffer and bufferLength were updated according to the above re- quirements SWS_E2EXf_00108, SWS_E2EXf_00109, SWS_E2EXf_00115, SWS_ E2EXf_00111.
requirement SWS_E2EXf_00191 [SWS_E2EXf_00191] 📄 PDF
If DataTransformationStatusForwarding is set to transformer StatusForwarding and PXX = P04m, P07m, P08m or P44m: The function E2EXf_<transformerId>() shall invoke E2E_PXXForward(), passing to that function: • the appropriate Config structure (see [SWS_E2EXf_00125]), • the appropriate State structure (see [SWS_E2EXf_00126]), • the local variables sourceID, messageType, and messageResult • buffer + EndToEndTransformationDescription.upperHeaderBitsToShift • bufferLength - EndToEndTransformationDescription.upperHeaderBitsToShift Hereby buffer and bufferLength were updated according to the above re- quirements SWS_E2EXf_00108, SWS_E2EXf_00109, SWS_E2EXf_00115, SWS_ E2EXf_00111.
requirement SWS_E2EXf_00192 [SWS_E2EXf_00192] 📄 PDF
For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_Inv_<transformerId> shall perform the following additional precondition checks, without continuing further processing: 1. extractProtocolHeaderFields == NULL 2. csTransactionHandle == NULL. If any of above conditions is TRUE, then the function shall return E_SAFETY_HARD_ RUNTIMEERROR.
requirement SWS_E2EXf_00193 [SWS_E2EXf_00193] 📄 PDF
For profiles P04m, P07m, P08m and P44m the in-place E2EXf_Inv_<transformerId> on the client-side shall call the extractProtocolHeader Fields() function passing the buffer, the bufferLength, the address of local message Type variable, and the address of a local messageResult variable as parameters.
requirement SWS_E2EXf_00194 [SWS_E2EXf_00194] 📄 PDF
For profiles P04m, P07m, P08m and P44m the out-of-place E2EXf_Inv_<transformerId> on the client-side shall call the extractProtocolHeader Fields() function passing the inputBuffer, the inputBufferLength, the address of a lo- cal variable named messageType, and the address of a local variable named message Result as parameters.
requirement SWS_E2EXf_00196 [SWS_E2EXf_00196] 📄 PDF
For profiles P04m, P07m, P08m and P44m both the in- place and the out-of-place E2EXf_Inv_<transformerId> on the client-side shall set a local variable sourceID to the sourceID stored in the configuration (see SWS_ E2EXf_00126).
requirement SWS_E2EXf_00197 [SWS_E2EXf_00197] 📄 PDF
For profiles P04m, P07m, P08m and P44m the in-place E2EXf_Inv_<transformerId> on the server-side shall call the extractProtocolHeader Fields() function passing the buffer, the bufferLength, the address of local message Type variable, and the address of a local messageResult variable as parameters.
requirement SWS_E2EXf_00198 [SWS_E2EXf_00198] 📄 PDF
For profiles P04m, P07m, P08m and P44m the out-of-place E2EXf_Inv_<transformerId> on the server-side shall call the extractProtocolHeader Fields() function passing the inputBuffer, the inputBufferLength, the address of local messageType variable, and the address of a local messageResult variable as param- eters.
requirement SWS_E2EXf_00199 [SWS_E2EXf_00199] 📄 PDF
If extractProtocolHeaderFields() returns something differ- ent from E_OK, E2EXf_Inv_<transformerId> shall return E_SAFETY_HARD_RUN- TIMEERROR.
requirement SWS_E2EXf_00200 [SWS_E2EXf_00200] 📄 PDF
For PXX = P04m, P07m, P08m and P44m: the function E2EXf_ Inv_<transformerId> on the client-side shall invoke E2E_PXXSourceCheck(), passing to that function: • config, • state, • the local variables messageType, messageResult, and the local variable source ID • data length: inputBufferLength - EndToEndTransformationDescription.upper HeaderBitsToShift • pointer to data: – inputBuffer + EndToEndTransformationDescription.upperHeaderBitsToShift (out-of-place version) or – buffer + EndToEndTransformationDescription.upperHeaderBitsToShift (in- place version).
requirement SWS_E2EXf_00201 [SWS_E2EXf_00201] 📄 PDF
For PXX = P04m, P07m, P08m and P44m: the function E2EXf_ Inv_<transformerId> on the server-side shall invoke E2E_PXXSinkCheck(), passing to that function: • config, • state, • the local variables messageType, messageResult, and the address of the local variable sourceID • data length: inputBufferLength - EndToEndTransformationDescription.upper HeaderBitsToShift • pointer to data: – inputBuffer + EndToEndTransformationDescription.upperHeaderBitsToShift (out-of-place version) or – buffer + EndToEndTransformationDescription.upperHeaderBitsToShift (in- place version).
requirement SWS_E2EXf_00202 [SWS_E2EXf_00202] 📄 PDF
For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_Inv_<transformerId> on the server-side shall set the e2e SourceId element of the csTransactionHandle to the value of the local variable source ID.
requirement SWS_E2EXf_00203 [SWS_E2EXf_00203] 📄 PDF
For profiles P04m, P07m, P08m and P44m both the in-place and the out-of-place E2EXf_Inv_<transformerId> on the server-side shall set the e2e Counter element of the csTransactionHandle to the value of the local variable received RequestCounter.
requirement SWS_E2EXf_00204 [SWS_E2EXf_00204] 📄 PDF
The generated configuration object of type E2E_P08mConfig Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • MinDataLength = EndToEndTransformationISignalProps.minDataLength • MaxDataLength = EndToEndTransformationISignalProps.maxDataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00205 [SWS_E2EXf_00205] 📄 PDF
The generated configuration object of type E2E_P44mConfig Type shall be initialized according to the following (one-to-one mapping): • DataID = EndToEndTransformationISignalProps.dataID • MinDataLength = EndToEndTransformationISignalProps.minDataLength • MaxDataLength = EndToEndTransformationISignalProps.maxDataLength • Offset = EndToEndTransformationDescription.offset • MaxDeltaCounter = EndToEndTransformationComSpecProps.maxDeltaCounter or EndToEndTransformationDescription.maxDeltaCounter
requirement SWS_E2EXf_00206 [SWS_E2EXf_00206] 📄 PDF
In case of Client/Server Communication on the client side and Profile is P01 or P02, the receivedRequestCounter shall be set to state- >LastValidCounter of E2EXf_Inv_<transformerId>.
requirement SWS_E2EXf_00207 [SWS_E2EXf_00207] 📄 PDF
In case of Client/Server Communication on the client side and Profile is P04, P05, P06, P07, P08, P11, P22, P44, P04m, P07m, P08m or P44m the receivedRequestCounter shall be set to state->Counter of E2EXf_Inv_<transformerId>.
requirement SWS_E2EXf_00208 [SWS_E2EXf_00208] 📄 PDF
The function E2EXf_MapCodeToStatus shall return the values depending on the value of forwardedCode:
requirement SWS_E2EXf_NA_00001 [SWS_E2EXf_NA_00001] 📄 PDF
These requirements are not applicable to this specifica- tion.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_E2EXf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_E2EXf@rel:R20-11#6d74fd5d- Content hash
6d74fd5d- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_E2ETransformer.pdf#nameddest=SWS_E2EXf_00032