| /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| file Copyright.txt or https://cmake.org/licensing#kwsys for details. */ |
| #ifndef @KWSYS_NAMESPACE@_MD5_h |
| #define @KWSYS_NAMESPACE@_MD5_h |
| |
| #include <@KWSYS_NAMESPACE@/Configure.h> |
| |
| /* Redefine all public interface symbol names to be in the proper |
| namespace. These macros are used internally to kwsys only, and are |
| not visible to user code. Use kwsysHeaderDump.pl to reproduce |
| these macros after making changes to the interface. */ |
| #if !defined(KWSYS_NAMESPACE) |
| # define kwsys_ns(x) @KWSYS_NAMESPACE@##x |
| # define kwsysEXPORT @KWSYS_NAMESPACE@_EXPORT |
| #endif |
| #if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS |
| # define kwsysMD5 kwsys_ns(MD5) |
| # define kwsysMD5_s kwsys_ns(MD5_s) |
| # define kwsysMD5_New kwsys_ns(MD5_New) |
| # define kwsysMD5_Delete kwsys_ns(MD5_Delete) |
| # define kwsysMD5_Initialize kwsys_ns(MD5_Initialize) |
| # define kwsysMD5_Append kwsys_ns(MD5_Append) |
| # define kwsysMD5_Finalize kwsys_ns(MD5_Finalize) |
| # define kwsysMD5_FinalizeHex kwsys_ns(MD5_FinalizeHex) |
| # define kwsysMD5_DigestToHex kwsys_ns(MD5_DigestToHex) |
| #endif |
| |
| #if defined(__cplusplus) |
| extern "C" { |
| #endif |
| |
| /** |
| * MD5 state data structure. |
| */ |
| typedef struct kwsysMD5_s kwsysMD5; |
| |
| /** |
| * Create a new MD5 instance. The returned instance is not initialized. |
| */ |
| kwsysEXPORT kwsysMD5* kwsysMD5_New(void); |
| |
| /** |
| * Delete an old MD5 instance. |
| */ |
| kwsysEXPORT void kwsysMD5_Delete(kwsysMD5* md5); |
| |
| /** |
| * Initialize a new MD5 digest. |
| */ |
| kwsysEXPORT void kwsysMD5_Initialize(kwsysMD5* md5); |
| |
| /** |
| * Append data to an MD5 digest. If the given length is negative, |
| * data will be read up to but not including a terminating null. |
| */ |
| kwsysEXPORT void kwsysMD5_Append(kwsysMD5* md5, unsigned char const* data, |
| int length); |
| |
| /** |
| * Finalize a MD5 digest and get the 16-byte hash value. |
| */ |
| kwsysEXPORT void kwsysMD5_Finalize(kwsysMD5* md5, unsigned char digest[16]); |
| |
| /** |
| * Finalize a MD5 digest and get the 32-bit hexadecimal representation. |
| */ |
| kwsysEXPORT void kwsysMD5_FinalizeHex(kwsysMD5* md5, char buffer[32]); |
| |
| /** |
| * Convert a MD5 digest 16-byte value to a 32-byte hexadecimal representation. |
| */ |
| kwsysEXPORT void kwsysMD5_DigestToHex(unsigned char const digest[16], |
| char buffer[32]); |
| |
| #if defined(__cplusplus) |
| } /* extern "C" */ |
| #endif |
| |
| /* If we are building a kwsys .c or .cxx file, let it use these macros. |
| Otherwise, undefine them to keep the namespace clean. */ |
| #if !defined(KWSYS_NAMESPACE) |
| # undef kwsys_ns |
| # undef kwsysEXPORT |
| # if !@KWSYS_NAMESPACE@_NAME_IS_KWSYS |
| # undef kwsysMD5 |
| # undef kwsysMD5_s |
| # undef kwsysMD5_New |
| # undef kwsysMD5_Delete |
| # undef kwsysMD5_Initialize |
| # undef kwsysMD5_Append |
| # undef kwsysMD5_Finalize |
| # undef kwsysMD5_FinalizeHex |
| # undef kwsysMD5_DigestToHex |
| # endif |
| #endif |
| |
| #endif |