/* BEGIN_FILE_HDR ******************************************************************************* * NOTICE * This software is the property of HiRain Technologies. Any information * contained in this doc should not be reproduced, or used, or disclosed * without the written authorization from HiRain Technologies. ******************************************************************************* * File Name : E2E_P04.h ******************************************************************************* * Project/Product : AUTOSAR R21-11 * Title : End-to-End protect module * Author : Hirain ******************************************************************************* * Description : The header file of the End-to-End module. * ******************************************************************************* * Limitations : None * ******************************************************************************* * ******************************************************************************* * Revision History: * Reference to Core C File ******************************************************************************* * END_FILE_HDR*/ /***************************************************************************** * E2E QAC Suppression *****************************************************************************/ /*PRQA S 3432 EOF*/ /* P2VAR and other macros in the Compiler conforms to AUTOSAR standard.There's no need to revise. */ /*PRQA S 4640,4641 EOF*/ /* Function, macrodefinition is named with a fixed requirement and does not make changes */ /*PRQA S 3614 EOF*/ /* According to the requirements of AUTOSAR Specification,when locating address segments in the files of each module,#include "E2E_MemMap.h" is required.Defined XXX_START_SEC_ will undefine in E2E_MemMap.h */ #ifndef E2E_P04_H #define E2E_P04_H /******************************************************************************* * Includes *******************************************************************************/ #include "E2E.h" /****************************************************************************** * Type define ******************************************************************************/ /*SWS_E2E_00337*/ typedef enum { E2E_P04STATUS_OK = 0x00, E2E_P04STATUS_NONEWDATA = 0x01, E2E_P04STATUS_ERROR = 0x02, E2E_P04STATUS_REPEATED = 0x08, E2E_P04STATUS_OKSOMELOST = 0x20, E2E_P04STATUS_WRONGSEQUENCE = 0x40 } E2E_P04CheckStatusType; /*SWS_E2E_00334*/ typedef struct { uint32 DataID; uint16 Offset; uint16 MinDataLength; uint16 MaxDataLength; uint16 MaxDeltaCounter; } E2E_P04ConfigType; /*SWS_E2E_00335*/ typedef struct { uint16 Counter; } E2E_P04ProtectStateType; /*SWS_E2E_00336*/ typedef struct { E2E_P04CheckStatusType Status; uint16 Counter; } E2E_P04CheckStateType; #define E2E_START_SEC_CODE #include "E2E_MemMap.h" /****************************************************************************** * API Declare ******************************************************************************/ extern FUNC(Std_ReturnType, E2E_CODE) E2E_P04ProtectInit ( P2VAR(E2E_P04ProtectStateType, AUTOMATIC, E2E_APPL_DATA) StatePtr ); extern FUNC(Std_ReturnType, E2E_CODE) E2E_P04Protect ( P2CONST(E2E_P04ConfigType, AUTOMATIC, E2E_APPL_CONST) ConfigPtr, P2VAR(E2E_P04ProtectStateType, AUTOMATIC, E2E_APPL_DATA) StatePtr, P2VAR(uint8, AUTOMATIC, E2E_APPL_DATA) DataPtr, uint16 Length ); extern FUNC(Std_ReturnType, E2E_CODE)E2E_P04Check ( P2CONST(E2E_P04ConfigType, AUTOMATIC, E2E_APPL_CONST) ConfigPtr, P2VAR(E2E_P04CheckStateType, AUTOMATIC, E2E_APPL_DATA) StatePtr, P2CONST(uint8, AUTOMATIC, E2E_APPL_DATA) DataPtr, uint16 Length ); extern FUNC(Std_ReturnType, E2E_CODE) E2E_P04CheckInit ( P2VAR(E2E_P04CheckStateType, AUTOMATIC, E2E_APPL_DATA) StatePtr ); extern FUNC(E2E_PCheckStatusType, E2E_CODE) E2E_P04MapStatusToSM ( Std_ReturnType CheckReturn, E2E_P04CheckStatusType Status ); #define E2E_STOP_SEC_CODE #include "E2E_MemMap.h" #endif/* E2E_P04_H */