* Boston, MA 02111-1307, USA.
*/
-#if defined(G_DISABLE_SINGLE_INCLUDES) && !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
-#error "Only <glib.h> can be included directly."
-#endif
-
#ifndef __G_CHECKSUM_H__
#define __G_CHECKSUM_H__
+#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
+#error "Only <glib.h> can be included directly."
+#endif
+
#include <glib/gtypes.h>
+#include <glib/gbytes.h>
G_BEGIN_DECLS
* @G_CHECKSUM_MD5: Use the MD5 hashing algorithm
* @G_CHECKSUM_SHA1: Use the SHA-1 hashing algorithm
* @G_CHECKSUM_SHA256: Use the SHA-256 hashing algorithm
+ * @G_CHECKSUM_SHA512: Use the SHA-512 hashing algorithm
*
* The hashing algorithm to be used by #GChecksum when performing the
* digest of some data.
typedef enum {
G_CHECKSUM_MD5,
G_CHECKSUM_SHA1,
- G_CHECKSUM_SHA256
+ G_CHECKSUM_SHA256,
+ G_CHECKSUM_SHA512
} GChecksumType;
/**
*/
typedef struct _GChecksum GChecksum;
+GLIB_AVAILABLE_IN_ALL
gssize g_checksum_type_get_length (GChecksumType checksum_type);
+GLIB_AVAILABLE_IN_ALL
GChecksum * g_checksum_new (GChecksumType checksum_type);
+GLIB_AVAILABLE_IN_ALL
void g_checksum_reset (GChecksum *checksum);
+GLIB_AVAILABLE_IN_ALL
GChecksum * g_checksum_copy (const GChecksum *checksum);
+GLIB_AVAILABLE_IN_ALL
void g_checksum_free (GChecksum *checksum);
+GLIB_AVAILABLE_IN_ALL
void g_checksum_update (GChecksum *checksum,
const guchar *data,
gssize length);
+GLIB_AVAILABLE_IN_ALL
const gchar * g_checksum_get_string (GChecksum *checksum);
+GLIB_AVAILABLE_IN_ALL
void g_checksum_get_digest (GChecksum *checksum,
guint8 *buffer,
gsize *digest_len);
+GLIB_AVAILABLE_IN_ALL
gchar *g_compute_checksum_for_data (GChecksumType checksum_type,
const guchar *data,
gsize length);
+GLIB_AVAILABLE_IN_ALL
gchar *g_compute_checksum_for_string (GChecksumType checksum_type,
const gchar *str,
gssize length);
+GLIB_AVAILABLE_IN_2_34
+gchar *g_compute_checksum_for_bytes (GChecksumType checksum_type,
+ GBytes *data);
+
G_END_DECLS
#endif /* __G_CHECKSUM_H__ */