/* * (c) Copyright, Real-Time Innovations, 2024. * All rights reserved. * * No duplications, whole or partial, manual or electronic, may be made * without express written permission. Any such copies, or * revisions thereof, must display this notice unaltered. * This code contains trade secrets of Real-Time Innovations, Inc. */ #ifndef osapi_md5_h #define osapi_md5_h #include "osapi/osapi_dll.h" #include "osapi/osapi_type.h" #define RTI_OSAPI_MD5_DIGEST_SIZE (16) #ifdef __cplusplus extern "C" { #endif typedef struct RTIOsapiMD5State { RTI_UINT32 count[2]; /* message length in bits, lsw first */ RTI_UINT32 abcd[4]; /* digest buffer */ RTI_UINT8 buf[64]; /* accumulate block */ } RTIOsapiMD5State; extern RTIOsapiDllExport void RTIOsapiMD5State_start(RTIOsapiMD5State *self); extern RTIOsapiDllExport void RTIOsapiMD5State_update( RTIOsapiMD5State *self, const RTI_UINT8 *data, RTI_UINT32 size); extern RTIOsapiDllExport void RTIOsapiMD5State_finish(RTIOsapiMD5State *pms, RTI_UINT8 *digest); /* * Output = MD5( input buffer ) */ extern RTIOsapiDllExport void RTIOsapiMD5_computeMD5(RTI_UINT8 *md5, const char *in, size_t size); #ifdef __cplusplus } /* extern "C" */ #endif #endif /* osapi_md5_h */