#ifndef PDUR_H\r
#define PDUR_H\r
\r
-#define PDUR_VENDOR_ID 1\r
+#define PDUR_VENDOR_ID 1\r
#define PDUR_AR_MAJOR_VERSION 2\r
#define PDUR_AR_MINOR_VERSION 2\r
#define PDUR_AR_PATCH_VERSION 2\r
#include "PduR_Types.h"\r
#include "PduR_PbCfg.h"\r
\r
+#include "PduR_If.h"\r
#include "PduR_Com.h"\r
#include "PduR_CanIf.h"\r
#include "PduR_LinIf.h"\r
*/\r
extern PduR_StateType PduRState;\r
\r
+#define PduR_IsUpModule(_mod) ((_mod > ARC_PDUR_UP_MODULES) && (_mod < ARC_PDUR_LOIF_MODULES))\r
+#define PduR_IsIfModule(_mod) ((_mod > ARC_PDUR_LOIF_MODULES) && (_mod < ARC_PDUR_LOTP_MODULES))\r
+#define PduR_IsTpModule(_mod) ((_mod > ARC_PDUR_LOTP_MODULES) && (_mod < ARC_PDUR_END_OF_MODULES))\r
+#define PduR_IsLoModule(_mod) (PduR_IsIfModule(_mod) || PduR_IsTpModule(_mod))\r
+\r
\r
#if (PDUR_DEV_ERROR_DETECT == STD_ON)\r
\r
-#define PDUR_DET_REPORTERROR(_x,_y,_z,_q) Det_ReportError(_x,_y,_z,_q)\r
+#define PDUR_DET_REPORTERROR(_x,_y,_z,_o) Det_ReportError(_x,_y,_z,_o)\r
\r
-// Define macro for state, parameter and data pointer checks.\r
-// TODO Implement data range check if needed.\r
-#define PduR_DevCheck(PduId,PduPtr,ApiId,...) \\r
+#define PDUR_VALIDATE_INITIALIZED(_api,...) \\r
if ((PduRState == PDUR_UNINIT) || (PduRState == PDUR_REDUCED)) { \\r
- PDUR_DET_REPORTERROR(MODULE_ID_PDUR, PDUR_INSTANCE_ID, ApiId, PDUR_E_INVALID_REQUEST); \\r
+ Det_ReportError(MODULE_ID_PDUR, PDUR_INSTANCE_ID, _api, PDUR_E_INVALID_REQUEST); \\r
return __VA_ARGS__; \\r
- } \\r
- if ((PduPtr == 0) && (PDUR_DEV_ERROR_DETECT)) { \\r
- PDUR_DET_REPORTERROR(MODULE_ID_PDUR, PDUR_INSTANCE_ID, ApiId, PDUR_E_DATA_PTR_INVALID); \\r
+ }\r
+\r
+#define PDUR_VALIDATE_PDUPTR(_api, _pduPtr, ...) \\r
+ if ((_pduPtr == NULL) && (PDUR_DEV_ERROR_DETECT)) { \\r
+ Det_ReportError(MODULE_ID_PDUR, PDUR_INSTANCE_ID, _api, PDUR_E_DATA_PTR_INVALID); \\r
return __VA_ARGS__; \\r
- } \\r
- if ((PduId >= PduRConfig->PduRRoutingTable->NRoutingPaths) && PDUR_DEV_ERROR_DETECT) { \\r
- PDUR_DET_REPORTERROR(MODULE_ID_PDUR, PDUR_INSTANCE_ID, ApiId, PDUR_E_PDU_ID_INVALID); \\r
+ }\r
+\r
+#define PDUR_VALIDATE_PDUID(_api, _pduId, ...) \\r
+ if ((_pduId >= PduRConfig->NRoutingPaths) && PDUR_DEV_ERROR_DETECT) { \\r
+ Det_ReportError(MODULE_ID_PDUR, PDUR_INSTANCE_ID, _api, PDUR_E_PDU_ID_INVALID); \\r
return __VA_ARGS__; \\r
}\r
\r
\r
#else\r
-#define PDUR_DET_REPORTERROR(_x,_y,_z,_q)\r
-#define PduR_DevCheck(...)\r
+#define PDUR_DET_REPORTERROR(_x,_y,_z,_o)\r
+#define PDUR_VALIDATE_INITIALIZED(_api,...)\r
+#define PDUR_VALIDATE_PDUPTR(_api, _pduPtr, ...)\r
+#define PDUR_VALIDATE_PDUID(_api, _pduId, ...)\r
\r
#endif\r
\r
/*\r
* Macros\r
*/\r
-#define setTxConfP(R) (R->PduRDestPdu.TxBufferRef->TxConfP = 1)\r
-#define clearTxConfP(R) (R->PduRDestPdu.TxBufferRef->TxConfP = 0)\r
+#define setTxConfP(_B) (_B->TxConfP = 1)\r
+#define clearTxConfP(_B) (_B->TxConfP = 0)\r
\r
#endif\r
\r
-extern PduR_FctPtrType PduR_StdCanFctPtrs;\r
-extern PduR_FctPtrType PduR_StdLinFctPtrs;\r
-\r
#endif /* PDUR_H */\r