diff options
Diffstat (limited to 'Source/kwsys/MD5.h.in')
-rw-r--r-- | Source/kwsys/MD5.h.in | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/Source/kwsys/MD5.h.in b/Source/kwsys/MD5.h.in new file mode 100644 index 0000000..c257f7f --- /dev/null +++ b/Source/kwsys/MD5.h.in @@ -0,0 +1,97 @@ +/* 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 |