tree 8444654b2b62de21139f5397faf4ac7efa346b9d
parent 034ea7e754e74a94945e25615aea8f39e9e06222
author Andres Amaya Garcia <Andres.AmayaGarcia@arm.com> 1493392900 +0100
committer Andres Amaya Garcia <Andres.AmayaGarcia@arm.com> 1498650735 +0100

Add int return values to MD2 function calls

The following function calls are being deprecated to introduce int
return values.
    * mbedtls_md2()
    * mbedtls_md2_starts()
    * mbedtls_md2_update()
    * mbedtls_md2_finish()
    * mbedtls_md2_process()
The return codes can be used to return error values. This is important
when using hardware accelerators.
