/** This code is in the public domain. See md5.c for details. Authors: Colin Plumb [original author] David Helder [GNet API] */ #ifndef _GNET_MD5_H #define _GNET_MD5_H #include #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /** * GMD5 * * GMD5 is a MD5 hash. * **/ typedef struct _GMD5 GMD5; /** * GNET_MD5_HASH_LENGTH * * Length of the MD5 hash in bytes. **/ #define GNET_MD5_HASH_LENGTH 16 GMD5* gnet_md5_new (const gchar* buffer, guint length); GMD5* gnet_md5_new_string (const gchar* str); GMD5* gnet_md5_clone (const GMD5* md5); void gnet_md5_delete (GMD5* md5); GMD5* gnet_md5_new_incremental (void); void gnet_md5_update (GMD5* md5, const gchar* buffer, guint length); void gnet_md5_final (GMD5* md5); gboolean gnet_md5_equal (gconstpointer p1, gconstpointer p2); guint gnet_md5_hash (gconstpointer p); gchar* gnet_md5_get_digest (const GMD5* md5); gchar* gnet_md5_get_string (const GMD5* md5); void gnet_md5_copy_string (const GMD5* md5, gchar* buffer); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* _GNET_MD5_H */