/* 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_P22.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_P22_H #define E2E_P22_H /******************************************************************************* * Includes *******************************************************************************/ #include "E2E.h" /******************************************************************************* * Macro *******************************************************************************/ #define E2E_P22_DATALIST_LENGTH ((uint8)16) /****************************************************************************** * Type define ******************************************************************************/ /*SWS_E2E_00569*/ typedef enum { E2E_P22STATUS_OK = 0x00, E2E_P22STATUS_NONEWDATA = 0x01, E2E_P22STATUS_ERROR = 0x07, E2E_P22STATUS_REPEATED = 0x08, E2E_P22STATUS_OKSOMELOST = 0x20, E2E_P22STATUS_WRONGSEQUENCE = 0x40 } E2E_P22CheckStatusType; /*SWS_E2E_00571*/ typedef struct { uint16 DataLength; /*length of data, bits*/ uint8 DataIDList[E2E_P22_DATALIST_LENGTH];/*SWS_E2E_00119*/ uint8 MaxDeltaCounter; uint16 Offset; } E2E_P22ConfigType; /*SWS_E2E_00570*/ typedef struct { uint8 Counter; } E2E_P22ProtectStateType; /*SWS_E2E_00568*/ typedef struct { uint8 Counter; E2E_P22CheckStatusType Status; } E2E_P22CheckStateType; #define E2E_START_SEC_CODE #include "E2E_MemMap.h" /****************************************************************************** * API Declare ******************************************************************************/ extern FUNC(Std_ReturnType, E2E_CODE) E2E_P22ProtectInit ( P2VAR(E2E_P22ProtectStateType, AUTOMATIC, E2E_APPL_DATA) StatePtr ); extern FUNC(Std_ReturnType, E2E_CODE) E2E_P22Protect ( P2CONST(E2E_P22ConfigType, AUTOMATIC, E2E_APPL_CONST) ConfigPtr, P2VAR(E2E_P22ProtectStateType, AUTOMATIC, E2E_APPL_DATA) StatePtr, P2VAR(uint8, AUTOMATIC, E2E_APPL_DATA) DataPtr, uint16 Length ); extern FUNC(Std_ReturnType, E2E_CODE)E2E_P22Check ( P2CONST(E2E_P22ConfigType, AUTOMATIC, E2E_APPL_CONST) ConfigPtr, P2VAR(E2E_P22CheckStateType, AUTOMATIC, E2E_APPL_DATA) StatePtr, P2CONST(uint8, AUTOMATIC, E2E_APPL_DATA) DataPtr, uint16 Length ); extern FUNC(Std_ReturnType, E2E_CODE) E2E_P22CheckInit ( P2VAR(E2E_P22CheckStateType, AUTOMATIC, E2E_APPL_DATA) StatePtr ); extern FUNC(E2E_PCheckStatusType, E2E_CODE) E2E_P22MapStatusToSM ( Std_ReturnType CheckReturn, E2E_P22CheckStatusType Status ); #define E2E_STOP_SEC_CODE #include "E2E_MemMap.h" #endif/* E2E_P22_H */