Beispiel #1
0
void PduR_CanTpRxIndication(PduIdType CanTpRxPduId, NotifResultType Result) {
	PduInfoType PduInfo = {
		/* .SduDataPtr = */ &Result,
		/* .SduLength  = */ 0  // To fix PC-Lint 785
	};
	PduR_ARC_RxIndication(CanTpRxPduId, &PduInfo, 0x04);
}
Beispiel #2
0
void PduR_ARC_TpRxIndication(PduIdType PduId, NotifResultType Result, uint8 serviceId) {
	PduInfoType PduInfo = {
		/* .SduDataPtr = */ &Result,
		/* .SduLength = */ 0 // To fix PC-Lint 785
	};
	uint8 i;
	PDUR_VALIDATE_INITIALIZED(serviceId);
	PDUR_VALIDATE_PDUID(serviceId, PduId);

	if (Result != NTFRSLT_OK) {
		// There was an error in the lower layer while receiving the PDU.
		// Release any buffers and notify upper layers
		PduR_ARC_ReleaseRxBuffer(PduId);
		for (i = 0; PduRConfig->RoutingPaths[PduId]->PduRDestPdus[i] != NULL; i++) {
			const PduRDestPdu_type * destination = PduRConfig->RoutingPaths[PduId]->PduRDestPdus[i];
			if (PduR_IsUpModule(destination->DestModule)) {
				PduR_ARC_RouteRxIndication(destination, &PduInfo);
			}
		}

	} else {
		PduR_ARC_RxIndication(PduId, &PduInfo, serviceId);
	}
}
Beispiel #3
0
void PduR_CanIfRxIndication(PduIdType CanRxPduId,const PduInfoType* PduInfoPtr) {
    PduR_ARC_RxIndication(CanRxPduId, PduInfoPtr, 0x01);
}