X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fisotp%2Freceive.c;h=1692f8d39bc1aa61b0726a1e956563b1d80a87f2;hb=fe20a273bb3979d9e806d828486633249d073ede;hp=9add9d5f3351c7949a7f0bc0e14890473e8eed01;hpb=451ee4faa42eb304b27aeeef8c75387b4a12a614;p=apps%2Fagl-service-can-low-level.git diff --git a/src/isotp/receive.c b/src/isotp/receive.c index 9add9d5f..1692f8d3 100644 --- a/src/isotp/receive.c +++ b/src/isotp/receive.c @@ -1,7 +1,28 @@ #include -void isotp_handle_single_frame(IsoTpHandler* handler, - const uint16_t arbitration_id, const uint8_t* data, - const uint8_t length) { - handler->message_received_callback(arbitration_id, data, length); +bool isotp_handle_single_frame(IsoTpHandle* handle, IsoTpMessage* message) { + isotp_complete_receive(handle, message); + return true; +} + +void isotp_complete_receive(IsoTpHandle* handle, IsoTpMessage* message) { + if(handle->receive_handle.message_received_callback != NULL) { + handle->receive_handle.message_received_callback(message); + } +} + +IsoTpHandle isotp_receive(IsoTpShims* shims, + const uint16_t arbitration_id, IsoTpMessageReceivedHandler callback) { + IsoTpReceiveHandle receive_handle = { + arbitration_id: arbitration_id, + message_received_callback: callback + }; + + IsoTpHandle handle = { + success: false, + completed: true, + receive_handle: receive_handle, + type: ISOTP_HANDLE_RECEIVING + }; + return handle; }